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)相关推荐

  1. Android小项目之--前台界面与用户交互的对接 进度条与拖动条(附源码)

    都知道水果公司(苹果)是己尊重用户体验著称的公司,其设计的产品人性化十足,不得不令后来者赞叹,竞相模仿.iphone的成功就是其典型的案例,做为其移动系统的死对头 Google 想要在市场上分得一杯羹 ...

  2. Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar

    前面两期都在学习ProgressBar的使用,关于自定义ProgressBar的内容后期会继续学习的,本期先来学习ProgressBar的2个子组件SeekBar和RatingBar. 一.SeekB ...

  3. android 拖动进度,Android 可拖动的seekbar自定义进度值

    最近接了个项目其中有需要要实现此功能:seekbar需要显示最左和最右值,进度要跟随进度块移动.下面通过此图给大家展示下效果,可能比文字描述要更清晰. 其实实现起来很简单,主要是思路.自定义控件的话也 ...

  4. 安卓自定义seekbar数值_Android 可拖动的seekbar自定义进度值

    最近接了个项目其中有需要要实现此功能:seekbar需要显示最左和最右值,进度要跟随进度块移动.下面通过此图给大家展示下效果,可能比文字描述要更清晰. 其实实现起来很简单,主要是思路.自定义控件的话也 ...

  5. Android 基础知识4-3.8 SeekBar(拖动条)详解

    一.简介 拖动条类似进度条,不同的是用户可以控制,比如,应用程序中用户可以对音效进行控制,这就可以使用拖动条来实现.由于拖动条可以被用户控制,所以需要对其进行事件监听,这就需要实现SeekBar.on ...

  6. Android自定义Seekbar拖动条式样

    SeekBar拖动条可以由用户控制,进行拖动操作.比如,应用程序中用户需要对音量进行控制,就可以使用拖动条来实现. 1.SeekBar控件的使用 1.1SeekBar常用属性 SeekBar的常用属性 ...

  7. Android学习笔记18-自定义Seekbar拖动条式样

    SeekBar拖动条可以由用户控制,进行拖动操作.比如,应用程序中用户需要对音量进行控制,就可以使用拖动条来实现. 1.SeekBar控件的使用 1.1SeekBar常用属性 SeekBar的常用属性 ...

  8. Android学习笔记18:自定义Seekbar拖动条式样

    SeekBar拖动条可以由用户控制,进行拖动操作.比如,应用程序中用户需要对音量进行控制,就可以使用拖动条来实现. 1.SeekBar控件的使用 1.1SeekBar常用属性 SeekBar的常用属性 ...

  9. Android——自定义带刻度的SeekBar单向拖动条

    时间过得真快,才发现好久没来逛逛了.没写博客的这段时间一直在做项目,连续完成了两个大型app,这个过程很享受,这是独立开发的,所以中途有很多很多的问题需要自己一个一个的去解决,现在接近尾声了,发现自己 ...

最新文章

  1. LeetCode简单题之生成每种字符都是奇数个的字符串
  2. Build Boost C++ libraries for x32/x64 VC++ compilers on Windows
  3. r730xd服务器文档,r730xd配置服务器远程
  4. 大数据DDos检测——DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然! 和一个句子的分词算法CRF没有区别!...
  5. Python 相对路径问题:“No such file or directory“,原因及解决方法
  6. 笔记-信息系统开发基础-信息系统开发模型
  7. 程序员效率:职业倦怠的理解
  8. sublime text 3 前端开发常用插件
  9. .net面试题及答案(一)(转)
  10. 小爱同学,生命的意义是什么?
  11. 2月6日 KNN和Bayes和决策树学习总结
  12. 职称计算机word中文字处理,职称计算机考试:Word97中文字处理
  13. RabbitMQ(二)
  14. ps把图片无损放大的方法
  15. c语言三个矩阵乘法,c语言矩阵相乘
  16. 客户预付款处理和设置
  17. Java jdt 编辑_使用JDT转java代码为AST
  18. 天玑9200和骁龙8+哪个好 天玑9200和骁龙8+gen1对比
  19. 中古调式(调式音阶)
  20. android 树叶飘落动画,逼真的HTML5树叶飘落动画

热门文章

  1. 学计算机的可以做哪些适合自己的兼职?
  2. 2019年第五届 美亚杯电子取证 团体赛 wp
  3. 模拟退火算法和遗传算法原理简述
  4. Python pickle 介绍及使用理解
  5. 计算机字符的转换,字节和字符的换算(字符转换成字节)
  6. G20峰会在印度尼西亚举行,虹膜识别身份认证让佩戴面纱、口罩和留大胡子不再困扰
  7. python怎么实现并行计算_用Python实现多核心并行计算
  8. 合肥赛区我们学校得了铜牌
  9. 什么是异步,以及实现原理
  10. centos7命令行下使用w3m访问网页