android学习日记03--常用控件progressbar/seekbar
常用控件
5、progressbar
进度条,比较常用的组件,在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度。在不确定模式下,进度条显示循环动画。一般有圆形和条形两种;
默认进度条是圆形的
小圆型进度条:
style="?android:attr/progressBarStyleSmall"
大圆形进度条:
style="?android:attr/progressBarStyleLarge"
条形进度条:
style="?android:attr/progressBarStyleHorizontal"
android:max="100" --最大值
android:progress="50" --初始值
android:secondaryProgress="60" --次进度条值
常用方法:
getMax():返回这个进度条的范围的上限
getProgress():返回进度
getSecondaryProgress():返回次要进度
incrementProgressBy(int diff):指定增加的进度
isIndeterminate():指示进度条是否在不确定模式下
setVisibility(int v):设置该进度条是否可视
onSizeChanged(int w, int h, int oldw, int oldh):当进度值改变时引发此事件
简单小例子:
新开个线程,让条形进度条从最小增到最大,再减到最小
public class MainActivity extends Activity implements Runnable{
private Thread td;
private ProgressBar pb;
private boolean stateChange;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pb = (ProgressBar)findViewById(R.id.pd);
td = new Thread(this);
td.start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true) {
int current = pb.getProgress();
int max = pb.getMax();
int securrent = pb.getSecondaryProgress();
if (stateChange == false) {
if(current >= max) {
stateChange = true;
}else {
pb.setProgress(current+1);
pb.setSecondaryProgress(current+1);
}
}else {
if(current <= 0) {
stateChange = false;
}else {
pb.setProgress(current-1);
pb.setSecondaryProgress(current-1);
}
}
try {
td.sleep(50);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}

6、seekBar
拖动条,见到的较多,如地图上,放大缩小,音乐播放时声音的放大缩小等
监听事件:
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
tv.setText("拖动完成...");
} @Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
tv.setText("拖动中...");
} @Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
tv.setText("当前拖动条值为:"+progress);
}

类似长型的进度条,只是可以手动拖到,
也有
android:max="100" --最大值
android:progress="50" --初始值
android:secondaryProgress="60" --次进度条值
关于滑块还有一种较常用的是RatingBar,星级滑块,一般用于评定等级。

用法和上面大同小异,不再多说。
android学习日记03--常用控件progressbar/seekbar的更多相关文章
- android学习日记03--常用控件button/imagebutton
常用控件 控件是对数据和方法的封装.控件可以有自己的属性和方法.属性是控件数据的简单访问者.方法则是控件的一些简单而可见的功能.所有控件都是继承View类 介绍android原生提供几种常用的控件bu ...
- android学习日记03--常用控件Dialog
常用控件 9.Dialog 我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框 对话框,要创建对话框之前首先要创建Bui ...
- android学习日记03--常用控件checkbox/radiobutton
常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...
- android学习日记03--常用控件ListView
常用控件 8.ListView 列表视图,比如游戏的排行榜.列表数据可以根据屏幕大小自适应 列表的显示需要三个元素: a.ListVeiw:用来展示列表的View. b.适配器:用来把数据映射到Lis ...
- android学习日记03--常用控件tabSpec/tabHost
常用控件7.TabSpec和TabHost 比较常用的控件,感觉手机QQ的整体布局就是这个,只不过tab放在底部而已.TabSpec相当于浏览器的分页,而TabHost就相当于分页的集合TabSpec ...
- Android学习笔记_30_常用控件使用
一.状态栏通知(Notification): 如果需要查看消息,可以拖动状态栏到屏幕下方即可查看消息.发送消息的代码如下: public void sendNotice(View v){ int ic ...
- Android布局属性与常用控件
一.Android常用布局属性 1. LinearLayout的特有属性 android:orientation:设置布局排列方式 android:layout_weight:设置所占布局的权重 ...
- Android SDK提供的常用控件Widget “常用控件”“Android原生”
Android提供一个标准的视图工具箱来帮助创建简单的UI界面.通过使用这些控件(必要时,可以对这些控件进行修改). 创建一个简单的.xml文件,从预览窗口可以看到Android SDK提供的原生控件 ...
- Android开发UI之常用控件的使用
1.日期选择控件 DatePickerDialog 代码: btnChooseDate=(Button) findViewById(R.id.btnChooseDate); btnChooseDate ...
随机推荐
- Adobe RIA
一:1)Adobe® Flash® Player 是一个跨平台.基于浏览器的应用程序运行时,它可以跨屏幕和浏览器.原汁原味地呈现具有表现力的应用程序.内容和视频,当前版本Flash Player 10 ...
- 西南科技大学第十一届ACM程序设计大赛发言稿
西南科技大学第十一届ACM程序设计大赛发言稿 各位老师.志愿者及参赛选手: 大家好,我是来自计科学院卓软1301的哈特13,很荣幸今天能站在这里代表参赛选手发言. 回想起来,我参加ACM比赛已经快两年 ...
- C# List 使用方法 支持FrameWork2.0 环境
List查找指定数据 var tmpBillInputCheckList = BillInputCheckList.FindAll(m => m.BillDetailGuid == tmpBil ...
- 在win2008中配置ServU
因为08的防火墙要求比较高.很多端口都关闭,所以要设置防火墙. 首先设置入站规则 1.新建一条规则,规则类型选择“端口”,然后TCP,设置为20-21,60010-60020,然后允许链接,在配置文件 ...
- Js获取Cookie值的方法
function getCookie(name) { var prefix = name + "=" var start = document.cookie.indexOf(pre ...
- linux下socket keep alive讲解
[需求] 不影响服务器处理的前提下,检测客户端程序是否被强制终了.[现状]服务器端和客户端的Socket都设定了keepalive属性.服务器端设定了探测次数等参数,客户端.服务器只是打开了keepa ...
- IOS 多线程 NSOperation GCD
1.NSInvocationOperation NSInvocationOperation * op; NSOperationQueue * que = [[NSOperationQueuealloc ...
- 《Nagios系统监控实践》一书出版
本书是我的第一本译著,有此机会实属机缘巧合.虽然使用Nagios只有一年多的时间,但是作为用户,我深感其设计的简洁与高效—没有一丝多余的东西.因为工作的关系,要求对各个领域都有所了解,所以没有仔细地阅 ...
- js 数组常用方法说明
//push 向数组最后添加一项 var arr = ['one', 'two', 'three']; arr.push("four"); console.log(arr);//[ ...
- js会飞的li标签
当点击左边的li标签的时候,这边的li标签飞到右边去,点击右边的li标签飞到左边来,并且有顺序 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...