在移动端开发中,进度条是一个经常用到的组件,能够显示任务完成的状态以及剩余时间。本文将介绍如何使用 Material Design 中的 ProgressBar 和 TextView 实现有百分比效果的进度条。
Material Design
Material Design 是 Google 提出的设计语言,它能够从设计上规范并简化应用程序的使用体验,提供可预知的用户界面、有意义的动画和非常整洁的图标。Material Design 还能够提高用户对应用程序的信任,并使应用程序更加易于使用。
使用 ProgressBar
ProgressBar 是 Material Design 中的一个小部件,可用于显示正在进行的操作的状态。它有两种类型——确定性的和不确定性的。确定性的 ProgressBar 显示一个进度,如文件下载的百分比,而不确定性的 ProgressBar 显示一个活动,但没有进度信息。
本文将使用确定性的 ProgressBar,ProgressBar 需要进行一些设置才能显示。首先,在 build.gradle 文件中添加以下依赖项:
implementation 'com.google.android.material:material:1.2.1'
在 XML 文件中添加 ProgressBar:
<ProgressBar android:id="@+id/progress_bar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" />
注意到这里 ProgressBar 用的是横向进度条。接下来在 MainActivity.java 文件中设置 ProgressBar:
ProgressBar progressBar = findViewById(R.id.progress_bar); // 设置进度条最大值为 100 progressBar.setMax(100); // 当前进度为 50 progressBar.setProgress(50);
现在 ProgressBar 应该已经显示了,我们可以尝试通过更改属性值来调整它的外观。
使用 TextView
我们要添加一个 TextView 用于显示 ProgressBar 的百分比。我们可以在 ProgressBar 下或者上方添加一个 TextView,为了布局的灵活性,我们选用了 RelativeLayout 布局。
在 XML 文件中添加 RelativeLayout 和 TextView:
-- -------------------- ---- ------- --------------- ----------------------------------- ------------------------------------- ------------ ------------------------------ ------------------------------------------------ ----------------------------------- ------------------------------------ -- --------- --------------------------- ----------------------------------- ------------------------------------ ------------------------------ ----------------------- ---------------------------------------- ------------------------------------------ -----------------
现在我们需要在 MainActivity.java 文件中设置 TextView。我们想要显示 ProgressBar 当前的百分比。我们可以通过 ProgressBar 中的 getProgress 方法获取当前进度,再除以最大进度(100),并将此值作为百分比显示在 TextView。
-- -------------------- ---- ------- ----------- ----------- - -------------------------------- -------- -------- - ----------------------------- ------------------------ -- ------ ---------------------------- -- -------------------- ------------------------------------------ - --- --
至此,我们已经完成了 ProgressBar 和 TextView 的布局与设置。
结论
通过这样的设置,我们可以对 ProgressBar 和 TextView 进行更加细致的设置,并给用户更好的体验。移动应用程序的开发离不开 Material Design,良好的用户体验可以让我们的应用程序更加受欢迎。希望本文对读者对于 Android 及 Material Design 有所启发,也希望读者可以在开发中运用到这些技术。
示例代码
详细代码请参考以下链接:
https://github.com/hugoyin/ProgressBarDemo.git
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67130854ad1e889fe209feb8