一起学Android之ProgressBar
程序员文章站
2022-07-06 12:04:23
本文简述在Android开发中进度条(ProgressBar)的常见应用,仅供学习分享使用。 ......
本文简述在android开发中进度条(progressbar)的常见应用,仅供学习分享使用。
概述
在android开发中,进度条的使用场景有很多,如播放电影时可拖动的观看进度条,评分时使用的评分条,上传下载时的进度条,网络加载时的圆形进度条等。本文主要讲解三种进度条的常见用法:progressbar,seekbar,ratingbar。
progressbar常见用法
progressbar涉及知识点
- android:max 设置进度条的最大进度
- android:progress 设置进度条的当前进度(如播放视频的播放进度)
- android:secondaryprogress 设置进度条的第二进度(如播放视频时的缓冲进度)
- style="?android:attr/progressbarstylehorizontal" 设置进度条的样式(水平样式)
- style="?android:attr/progressbarstylelarge" 设置进度条的样式(垂直样式),圆形进度条
- isindeterminate() 判断进度条的形状,true:水平 false:圆形
- incrementprogressby(10) 增加当前的进度 incrementsecondaryprogressby(10) 增加当前的第二进度。
progressbar效果图如下图所示:
progressbar示例代码:
1 <linearlayout 2 android:id="@+id/ll_progress" 3 android:layout_width="match_parent" 4 android:layout_height="wrap_content" 5 android:layout_below="@id/ll_seeking" 6 android:layout_margintop="8dp" 7 android:layout_marginright="15dp" 8 android:orientation="horizontal"> 9 <textview 10 android:id="@+id/tv_progress" 11 android:layout_width="wrap_content" 12 android:layout_height="wrap_content" 13 android:text="@string/progress1" 14 android:textsize="20dp"/> 15 <progressbar 16 android:id="@+id/pb_01" 17 android:max="100" 18 android:progress="30" 19 android:layout_marginleft="10dp" 20 android:secondaryprogress="40" 21 style="?android:attr/progressbarstylehorizontal" 22 android:layout_weight="1" 23 android:layout_width="0dp" 24 android:layout_height="40dp"/> 25 </linearlayout> 26 <textview 27 android:id="@+id/tv_progress2" 28 android:layout_width="wrap_content" 29 android:layout_height="wrap_content" 30 android:layout_below="@id/ll_progress" 31 android:layout_margintop="8dp" 32 android:text="@string/progress2" 33 android:textsize="20dp"/> 34 <progressbar 35 android:id="@+id/pb_02" 36 android:layout_alignleft="@id/rbar" 37 android:layout_below="@id/ll_progress" 38 style="?android:attr/progressbarstylelarge" 39 android:layout_width="wrap_content" 40 android:layout_height="wrap_content"/>
seekbar常见用法
seekbar涉及知识点
- android:max ,android:progress ,android:secondaryprogress此三个属性和progressbar相同,参考上面。
- setonseekbarchangelistener 用于设置seekbar的监听事件,监听用户拖动的状态。
- onseekbarchangelistener表示一个接口,有三个函数需要实现:
- onprogresschanged(seekbar seekbar, int progress, boolean fromuser) //进度改变
- onstarttrackingtouch(seekbar seekbar) //开始触摸
- onstoptrackingtouch(seekbar seekbar) //停止触摸
seekbar效果图如下图所示:
seekbar示例代码
1 //监控seekbar事件 2 mseekbar=(seekbar)this.findviewbyid(r.id.sbar); 3 mseekbar.setonseekbarchangelistener(new seekbar.onseekbarchangelistener() { 4 @override 5 public void onprogresschanged(seekbar seekbar, int progress, boolean fromuser) { 6 log.i("demobar", "seekbar-->setonseekbarchangelistener: "+string.valueof(progress)+"-->fromuser:"+string.valueof(fromuser)); 7 mseektext.settext(string.valueof(progress)); 8 } 9 10 @override 11 public void onstarttrackingtouch(seekbar seekbar) { 12 13 } 14 15 @override 16 public void onstoptrackingtouch(seekbar seekbar) { 17 18 } 19 });
ratingbar常见用法
ratingbar涉及知识点
- android:numstars 表示星星的个数,默认为5个
- android:rating 表示当前的分值
- android:stepsize 表示步长,及前进一次多长的跨度,如,0.5表示半颗星星 1表示一颗心
- setonratingbarchangelistener 设置监听事件,
- onratingbarchangelistener 表示一个接口,只有一个函数需要实现:
- onratingchanged(ratingbar ratingbar, float rating, boolean fromuser)
ratingbar效果图如下图所示:
ratingbar示例代码
1 mratingbar =(ratingbar) this.findviewbyid(r.id.rbar); 2 mratingbar.setonratingbarchangelistener(new ratingbar.onratingbarchangelistener() { 3 @override 4 public void onratingchanged(ratingbar ratingbar, float rating, boolean fromuser) { 5 log.i("demobar", "ratingbar-->onratingchanged: "+string.valueof(rating)+"-->fromuser:"+string.valueof(fromuser)); 6 mratingtext.settext(string.valueof(rating)); 7 } 8 });
备注
一起学习,一起总结,一起进步。附上整体演示图片
下一篇: linux中配置JDK环境变量