ProgressBar是一个进度条控件,一般在需要做某个比较耗时的操作的时候,向用户展示执行进度,以免用户以为已经失去响应。
常用属性:
style 设置进度条的样式
visible 是否显示进度条
1、圆形进度条
一个圆形进度条,不断旋转。
1 <ProgressBar 2 android:layout_width="wrap_content" 3 android:layout_height="wrap_content" 4 style="@android:style/Widget.ProgressBar.Small" />
常用样式:Widget.ProgressBar.Small/Large/Inverse。没有Medium,效果上来看,Inverse相当于Medium。
也可以使用其它预定义的常量,但效果往往不对。
2、水平进度条
1 <ProgressBar 2 android:layout_width="wrap_content" 3 android:layout_height="wrap_content" 4 style="@android:style/Widget.ProgressBar.Horizontal" <!--指定样式为水平进度条 --> 5 6 android:minWidth="300dp" <!--设置控制条的尺寸,一般由min决定 --> 7 android:minHeight="30dp" <!--当然也可以用layout_width/height控制,效果相同--> 8 android:maxWidth="400dp" 9 android:maxHeight="50dp" 10 11 android:min="0" <!--最小刻度/起始刻度--> 12 android:max="100" <!--最大刻度--> 13 android:progress="30"/> <!--默认值-->
注意:并不会显示对应的数字。
带第二进度的水平进度条:
1 <ProgressBar 2 android:layout_width="wrap_content" 3 android:layout_height="wrap_content" 4 style="@android:style/Widget.ProgressBar.Horizontal" 5 6 android:minWidth="300dp" 7 android:minHeight="30dp" 8 android:maxWidth="400dp" 9 android:maxHeight="50dp" 10 11 android:min="0" 12 android:max="100" 13 android:progress="30" <!--第一段的长度--> 14 android:secondaryProgress="50"/> <!--第一、二段的总长度,就是说第二段是20-->
说明:
标签中不能写注释,我这样写只是为了方便理解。如果要复制使用代码,粘贴后要把标签中的<!--注释内容-->部分删掉。
在.java文件中,可通过getXxx()、setXxx()方法获取、设置进度条的属性:
1 ProgressBar progressBar=findViewById(R.id.progressBar); 2 int value=progressBar.getProgress(); //获取当前刻度值 3 progressBar.setProgress(50); //设置刻度值