Android 进度条

 

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);   //设置刻度值

 

posted @ 2019-05-16 18:22 chenhongyong 阅读(...) 评论(...) 编辑 收藏