android ProgressBar 属性详解

介绍

ProgressBar 是 Android 中的一种视图控件,用于显示进度条。它可以在用户等待某个操作完成时提供可视化的进度反馈。ProgressBar 可以显示水平和圆形两种样式,并且可以通过一些属性来自定义其外观和行为。

ProgressBar 的使用

添加 ProgressBar 到布局文件

在 XML 布局文件中添加 ProgressBar。

<ProgressBar
    android:id="@+id/progressBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_marginTop="16dp"
    android:indeterminate="true" />

查找 ProgressBar

在 Activity 或 Fragment 中查找 ProgressBar。

ProgressBar progressBar = findViewById(R.id.progressBar);

设置 ProgressBar 的进度

你可以使用 setProgress() 方法来设置 ProgressBar 的当前进度。

progressBar.setProgress(50);

设置 ProgressBar 的最大值

你可以使用 setMax() 方法来设置 ProgressBar 的最大值。

progressBar.setMax(100);

显示和隐藏 ProgressBar

你可以通过设置 ProgressBar 的 visibility 属性来显示或隐藏它。

progressBar.setVisibility(View.VISIBLE);

ProgressBar 的属性

android:indeterminate

  • 类型:boolean
  • 默认值:false

该属性用于设置 ProgressBar 是否为不确定模式。当 ProgressBar 的进度无法确定时,你可以将该属性设置为 true,ProgressBar 将会显示一个不断旋转的动画。当进度可确定时,你可以将该属性设置为 false。

<ProgressBar
    android:id="@+id/progressBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:indeterminate="true" />

android:max

  • 类型:integer
  • 默认值:100

该属性用于设置 ProgressBar 的最大值。你可以通过调用 setMax() 方法来动态改变 ProgressBar 的最大值。

<ProgressBar
    android:id="@+id/progressBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:max="100" />

android:progress

  • 类型:integer
  • 默认值:0

该属性用于设置 ProgressBar 的当前进度。你可以通过调用 setProgress() 方法来动态改变 ProgressBar 的进度。

<ProgressBar
    android:id="@+id/progressBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:progress="50" />

android:progressDrawable

  • 类型:reference
  • 默认值:null

该属性用于自定义 ProgressBar 的进度条样式。你可以通过创建自定义的 Drawable 对象来设置不同的进度条样式。

<ProgressBar
    android:id="@+id/progressBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:progressDrawable="@drawable/custom_progress" />

关系图

使用 mermaid.js 绘制关系图,如下所示:

erDiagram
    ProgressBar ||--|{ XML
    ProgressBar ||--|{ Drawable

类图

使用 mermaid.js 绘制类图,如下所示:

classDiagram
    class ProgressBar {
        -int max
        -int progress
        -boolean indeterminate
        +setProgress(int progress)
        +setMax(int max)
        +setVisibility(int visibility)
    }

结论

通过本文,我们了解了如何使用 ProgressBar 控件,并详细介绍了 ProgressBar 的属性。你可以根据自己的需求来设置 ProgressBar 的样式和行为,以提供更好的用户体验。希望本文对你有所帮助!