Material Design 中使用 ProgressBar 和 TextView 实现进度条带百分比效果

阅读时长 5 分钟读完

在移动端开发中,进度条是一个经常用到的组件,能够显示任务完成的状态以及剩余时间。本文将介绍如何使用 Material Design 中的 ProgressBar 和 TextView 实现有百分比效果的进度条。

Material Design

Material Design 是 Google 提出的设计语言,它能够从设计上规范并简化应用程序的使用体验,提供可预知的用户界面、有意义的动画和非常整洁的图标。Material Design 还能够提高用户对应用程序的信任,并使应用程序更加易于使用。

使用 ProgressBar

ProgressBar 是 Material Design 中的一个小部件,可用于显示正在进行的操作的状态。它有两种类型——确定性的和不确定性的。确定性的 ProgressBar 显示一个进度,如文件下载的百分比,而不确定性的 ProgressBar 显示一个活动,但没有进度信息。

本文将使用确定性的 ProgressBar,ProgressBar 需要进行一些设置才能显示。首先,在 build.gradle 文件中添加以下依赖项:

在 XML 文件中添加 ProgressBar:

注意到这里 ProgressBar 用的是横向进度条。接下来在 MainActivity.java 文件中设置 ProgressBar:

现在 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 有所启发,也希望读者可以在开发中运用到这些技术。

示例代码

详细代码请参考以下链接:

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67130854ad1e889fe209feb8

纠错
反馈