Android的进度条(ProgressBar)、拖动条(SeekBar)
Android的进度条与拖动条
一、ProgressBar(进度条)
进度条,ProgressBar,分为环形和水平条行, 首先看下效果图,Progress进度加载。
进度条XML中的属性
style 设置ProgressBar样式风格,可以自定义,系统也自带有样式。
默认为环形样式
@android:style/Widget.ProgressBar.Horizontal 水平进度条(粗)
@android:style/Widget.ProgressBar.Inverse 普通大小环形进度条
@android:style/Widget.ProgressBar.Large 大环形进度条
@android:style/Widget.ProgressBar.Large.Inverse 大环形进度条
@android:style/Widget.ProgressBar.Small 小环形进度条
@android:style/Widget.ProgressBar.Small.Inverse 小环形进度条
max 设置进度条最大值
progress 设置进度条已完成的进度值
对应java代码 则是加上get 与 set
上图对应的java代码如下
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 找到控件final ProgressBar bigProgressBar = (ProgressBar) findViewById(R.id.bigprogressBar);final ProgressBar smallProgressBar = (ProgressBar) findViewById(R.id.smallprogressBar);final TextView tv_progress1 = (TextView) findViewById(R.id.tv_progress1);final TextView tv_progress2 = (TextView) findViewById(R.id.tv_progress2);// 匿名内部类实现按钮点击事件,开始加载findViewById(R.id.btn_load).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {start(bigProgressBar, tv_progress1);start(smallProgressBar, tv_progress2);}});}// 进度条开始变化的方法public void start(final ProgressBar progressBar, final TextView textView) {// 耗时任务放在子线程种进行new Thread() {private int nowProgress;private int maxProgress;public void run() {// 得到进度条当前的值nowProgress = progressBar.getProgress();// 得到进度条最大值maxProgress = progressBar.getMax();// 当当前进度小于最大进度值时while (nowProgress < maxProgress) {nowProgress++;progressBar.setProgress(nowProgress);// 表示在UI线程种更新TextView因为子线程不能更新UIrunOnUiThread(new Runnable() {@Overridepublic void run() {// 设置TextView的内容textView.setText(nowProgress + "/" + maxProgress);}});try {// 延时模拟加载进度Thread.sleep(50);} catch (InterruptedException e) {e.printStackTrace();}}};}.start();}
}
二、SeekBar (拖动条)
拖动条 SeekBar 外观和水平进度条相似,不过拖动条顾名思义为可拖动的水平进度条
首先看效果图 SeekBar改变手机音量
SeekBar与ProgressBar类似 依然有 max 与 progress属性,对应java代码为set get
SeekBar有监听事件 即 setOnSeekBarChangeListener()
上图效果java代码如下
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 找到SeekBarSeekBar seekBar = (SeekBar) findViewById(R.id.seekbar);// 获取音量管理器audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);// 获取当前音乐音量的值 STREAM_MUSICint index = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);// 获取音乐音量的最大值int max = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);// 设置拖动条当前值seekBar.setProgress(index);// 设置拖动条的最大值seekBar.setMax(max);seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {// 拖动停止时调用}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// 拖动开始时调用}@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {// 拖动改变时调用// 获取seeKbar的当前值int seekBarvalue = seekBar.getProgress();// 设置音量大小,并在UI上显示 AudioManager.FLAG_SHOW_UIaudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, seekBarvalue, AudioManager.FLAG_SHOW_UI);}});}
}
转载于:Android的进度条与拖动条_xhu_ww的博客-CSDN博客_android progressbar 拖动
Android的进度条(ProgressBar)、拖动条(SeekBar)相关推荐
- Android小项目之--前台界面与用户交互的对接 进度条与拖动条(附源码)
都知道水果公司(苹果)是己尊重用户体验著称的公司,其设计的产品人性化十足,不得不令后来者赞叹,竞相模仿.iphone的成功就是其典型的案例,做为其移动系统的死对头 Google 想要在市场上分得一杯羹 ...
- Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar
前面两期都在学习ProgressBar的使用,关于自定义ProgressBar的内容后期会继续学习的,本期先来学习ProgressBar的2个子组件SeekBar和RatingBar. 一.SeekB ...
- android 拖动进度,Android 可拖动的seekbar自定义进度值
最近接了个项目其中有需要要实现此功能:seekbar需要显示最左和最右值,进度要跟随进度块移动.下面通过此图给大家展示下效果,可能比文字描述要更清晰. 其实实现起来很简单,主要是思路.自定义控件的话也 ...
- 安卓自定义seekbar数值_Android 可拖动的seekbar自定义进度值
最近接了个项目其中有需要要实现此功能:seekbar需要显示最左和最右值,进度要跟随进度块移动.下面通过此图给大家展示下效果,可能比文字描述要更清晰. 其实实现起来很简单,主要是思路.自定义控件的话也 ...
- Android 基础知识4-3.8 SeekBar(拖动条)详解
一.简介 拖动条类似进度条,不同的是用户可以控制,比如,应用程序中用户可以对音效进行控制,这就可以使用拖动条来实现.由于拖动条可以被用户控制,所以需要对其进行事件监听,这就需要实现SeekBar.on ...
- Android自定义Seekbar拖动条式样
SeekBar拖动条可以由用户控制,进行拖动操作.比如,应用程序中用户需要对音量进行控制,就可以使用拖动条来实现. 1.SeekBar控件的使用 1.1SeekBar常用属性 SeekBar的常用属性 ...
- Android学习笔记18-自定义Seekbar拖动条式样
SeekBar拖动条可以由用户控制,进行拖动操作.比如,应用程序中用户需要对音量进行控制,就可以使用拖动条来实现. 1.SeekBar控件的使用 1.1SeekBar常用属性 SeekBar的常用属性 ...
- Android学习笔记18:自定义Seekbar拖动条式样
SeekBar拖动条可以由用户控制,进行拖动操作.比如,应用程序中用户需要对音量进行控制,就可以使用拖动条来实现. 1.SeekBar控件的使用 1.1SeekBar常用属性 SeekBar的常用属性 ...
- Android——自定义带刻度的SeekBar单向拖动条
时间过得真快,才发现好久没来逛逛了.没写博客的这段时间一直在做项目,连续完成了两个大型app,这个过程很享受,这是独立开发的,所以中途有很多很多的问题需要自己一个一个的去解决,现在接近尾声了,发现自己 ...
最新文章
- LeetCode简单题之生成每种字符都是奇数个的字符串
- Build Boost C++ libraries for x32/x64 VC++ compilers on Windows
- r730xd服务器文档,r730xd配置服务器远程
- 大数据DDos检测——DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然! 和一个句子的分词算法CRF没有区别!...
- Python 相对路径问题:“No such file or directory“,原因及解决方法
- 笔记-信息系统开发基础-信息系统开发模型
- 程序员效率:职业倦怠的理解
- sublime text 3 前端开发常用插件
- .net面试题及答案(一)(转)
- 小爱同学,生命的意义是什么?
- 2月6日 KNN和Bayes和决策树学习总结
- 职称计算机word中文字处理,职称计算机考试:Word97中文字处理
- RabbitMQ(二)
- ps把图片无损放大的方法
- c语言三个矩阵乘法,c语言矩阵相乘
- 客户预付款处理和设置
- Java jdt 编辑_使用JDT转java代码为AST
- 天玑9200和骁龙8+哪个好 天玑9200和骁龙8+gen1对比
- 中古调式(调式音阶)
- android 树叶飘落动画,逼真的HTML5树叶飘落动画