在 谷歌官方的纸墨设计文档 中介绍如下:
线性进度条告诉用户当前内容加载的进度,从0%到100%。
Java
dependencies { compile 'com.android.support:appcompat-v7:X.X.X' // where X.X.X version }
dependencies{ compile'com.android.support:appcompat-v7:X.X.X'// where X.X.X version }
Java
public class MainActivity extends AppCompatActivity { ... }
publicclassMainActivityextendsAppCompatActivity{ ... }
XHTML
<ProgressBar style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<ProgressBar style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
设置 indeterminate 属性为 true ,可以创建进度不确定的进度条。
XHTML
<ProgressBar style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="true"/>
<ProgressBar style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="true"/>
XHTML
<ProgressBar android:id="@+id/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="20"/>
<ProgressBar android:id="@+id/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="20"/>
设置 indeterminate 属性为 false,然后可以设置 max 和 progress 的值。
可以通过如下代码更新进度:
Java
ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar); progressBar.setProgress(50);
ProgressBar progressBar=(ProgressBar)findViewById(R.id.progressBar); progressBar.setProgress(50);
该进度条样式类似于网络播放器(优酷等)的播放进度和缓存进度。 通过 secondaryProgress 来设置二级进度条的进度。
XHTML
<ProgressBar android:id="@+id/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="50"/>
<ProgressBar android:id="@+id/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="50"/>
同样,在代码中也可以设置进度值:
Java
ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar); // set current progress progressBar.setProgress(20); // set buffered progress progressBar.setSecondaryProgress(50);
ProgressBar progressBar=(ProgressBar)findViewById(R.id.progressBar); // set current progress progressBar.setProgress(20); // set buffered progress progressBar.setSecondaryProgress(50);
– 在你的 styles.xml 中定义自定义样式:
XHTML
<style name="LinearProgress" parent="Theme.AppCompat.Light"> <item name="colorAccent">@color/indigo</item> <item name="android:progressBackgroundTint">@color/pink</item> </style>
<style name="LinearProgress"parent="Theme.AppCompat.Light"> <itemname="colorAccent">@color/indigo</item> <itemname="android:progressBackgroundTint">@color/pink</item> </style>
XHTML
<ProgressBar android:theme="@style/LinearProgress" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<ProgressBar android:theme="@style/LinearProgress" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
注意: android:progressBackgroundTint 只对带进度的进度条 起作用。
在5.0之前的版本上, 进度条显示还是旧的方式。