Material Linear ProgressBar
根据材料文件 :
线性进度指示器应始终从 0%填充到 100%,并且永远不会减少值。
它应该由标题或表格边缘上的条形表示,并显示和消失。
要使用材质 Linear ProgressBar,只需在 xml 中使用:
<ProgressBar
android:id="@+id/my_progressBar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
https://i.stack.imgur.com/rB8wu.gif
不定
要创建不确定的 ProgressBar,请将 android:indeterminate
属性设置为 true
。
<ProgressBar
android:id="@+id/my_progressBar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"/>
确定的
要创建确定的 ProgressBar,请将 android:indeterminate
属性设置为 false
并使用 android:max
和 android:progress
属性:
<ProgressBar
android:id="@+id/my_progressBar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:indeterminate="false"
android:max="100"
android:progress="10"/>
只需使用此代码更新值:
ProgressBar progressBar = (ProgressBar) findViewById(R.id.my_progressBar);
progressBar.setProgress(20);
缓冲
要使用 ProgressBar 创建缓冲效果,请将 android:indeterminate
属性设置为 false
并使用 android:max
,android:progress
和 android:secondaryProgress
属性:
<ProgressBar
android:id="@+id/my_progressBar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="false"
android:max="100"
android:progress="10"
android:secondaryProgress="25"/>
缓冲区值由 android:secondaryProgress
属性定义。
只需使用此代码更新值:
ProgressBar progressBar = (ProgressBar) findViewById(R.id.my_progressBar);
progressBar.setProgress(20);
progressBar.setSecondaryProgress(50);
不确定和确定
要获得这种 ProgressBar,只需使用 android:indeterminate
属性的不确定 ProgressBar 为 true。
<ProgressBar
android:id="@+id/progressBar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:indeterminate="true"/>
然后,当你需要从不确定切换到确定进度时使用 setIndeterminate()
方法。
ProgressBar progressBar = (ProgressBar) findViewById(R.id.my_progressBar);
progressBar.setIndeterminate(false);