Android学习指南之十一:ProgressBar、SeekBar和RatingBar
2012-07-01 22:58
489 查看
上一讲中介绍了xml中添加:
下面试main.xml中的代码,大家注意黑体字部分的内容,看看不同样式的不同的表现:
同学们可以使用下面的代码对,进度条进行一些操作练习:
private ProgressBar pb; //定义ProgressBar
pb = (ProgressBar) findViewById(R.id.ProgressBar01);
pb.incrementProgressBy(5); //ProgressBar进度值增加5
pb.incrementProgressBy(-5); //ProgressBar进度值减少5
pb.incrementSecondaryProgressBy(5); //ProgressBar第二个进度条 进度值增加5
pb.incrementSecondaryProgressBy(-5); //ProgressBar第二个进度条 进度值减少5
二、SeekBar拖动条(滑动条)
SeekBar可以作为音乐播放器的进度指示和调整工具,音量调整工具等,SeekBar是ProgressBar的一个子类,下面我们用一个可以改变并显示当前进度的拖动条例子来演示一下它的使用:
1、main.xml
< ?xml version="1.0" encoding="utf-8"?>
2、java:
三、RatingBar评分条
RatingBar评分条是SeekBar拖动条的子类。现阶段系统自带了3种样式,我们同样用例子来演示他的使用方法和属性设置:
1、main.xml的代码:
有兴趣的同学可以研究一下,如何更换评分条中的图片,譬如罢星星换成花朵什么的。
package android.basic.lesson11; import android.app.Activity; import android.os.Bundle; import android.view.Window; public class MainHelloProgressBar extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //在标题条里放置进度条。请求窗口特色风格,这里设置成不明确的进度风格 requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.main); //设置标题栏中的不明确的进度条是否可以显示,当你需要表示处理中的时候设置为True,处理完毕后设置为false setProgressBarIndeterminateVisibility(true); } }
下面试main.xml中的代码,大家注意黑体字部分的内容,看看不同样式的不同的表现:
package android.basic.lesson11; import android.app.Activity; import android.os.Bundle; import android.view.Window; public class MainHelloProgressBar extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置窗口进度条特性风格 requestWindowFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.main); //设置进度条可见性 setProgressBarVisibility(true); //设置进度条进度值,要乘以100的 setProgress(60*100); setSecondaryProgress(80*100); } }运行效果:
同学们可以使用下面的代码对,进度条进行一些操作练习:
private ProgressBar pb; //定义ProgressBar
pb = (ProgressBar) findViewById(R.id.ProgressBar01);
pb.incrementProgressBy(5); //ProgressBar进度值增加5
pb.incrementProgressBy(-5); //ProgressBar进度值减少5
pb.incrementSecondaryProgressBy(5); //ProgressBar第二个进度条 进度值增加5
pb.incrementSecondaryProgressBy(-5); //ProgressBar第二个进度条 进度值减少5
二、SeekBar拖动条(滑动条)
SeekBar可以作为音乐播放器的进度指示和调整工具,音量调整工具等,SeekBar是ProgressBar的一个子类,下面我们用一个可以改变并显示当前进度的拖动条例子来演示一下它的使用:
1、main.xml
< ?xml version="1.0" encoding="utf-8"?>
2、java:
package android.basic.lesson11; import android.app.Activity; import android.os.Bundle; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; import android.widget.Toast; public class MainHelloSeekBar extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //找到拖动条和文本框 final SeekBar sb = (SeekBar) findViewById(R.id.SeekBar01); final TextView tv1 = (TextView) findViewById(R.id.TextView01); //设置拖动条的初始值和文本框的初始值 sb.setMax(100); sb.setProgress(30); tv1.setText("当前进度:" + sb.getProgress()); //设置拖动条改变监听器 OnSeekBarChangeListener osbcl = new OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { tv1.setText("当前进度:" + sb.getProgress()); Toast.makeText(getApplicationContext(), "onProgressChanged", Toast.LENGTH_SHORT).show(); } @Override public void onStartTrackingTouch(SeekBar seekBar) { Toast.makeText(getApplicationContext(), "onStartTrackingTouch", Toast.LENGTH_SHORT).show(); } @Override public void onStopTrackingTouch(SeekBar seekBar) { Toast.makeText(getApplicationContext(), "onStopTrackingTouch", Toast.LENGTH_SHORT).show(); } }; //为拖动条绑定监听器 sb.setOnSeekBarChangeListener(osbcl); } }3、运行程序:
三、RatingBar评分条
RatingBar评分条是SeekBar拖动条的子类。现阶段系统自带了3种样式,我们同样用例子来演示他的使用方法和属性设置:
1、main.xml的代码:
package android.basic.lesson11; import android.app.Activity; import android.os.Bundle; import android.widget.RatingBar; import android.widget.RatingBar.OnRatingBarChangeListener; public class MainHelloRatingBar extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //定义组件对象 final RatingBar rb1 = (RatingBar)findViewById(R.id.RatingBar01); final RatingBar rb2 = (RatingBar)findViewById(R.id.RatingBar02); final RatingBar rb3 = (RatingBar)findViewById(R.id.RatingBar03); //定义评分监听器 OnRatingBarChangeListener orbcl= new OnRatingBarChangeListener(){ @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { switch(ratingBar.getId()){ case R.id.RatingBar01: //把第一个评分条的值取出来设置给其他评分条 rb2.setRating(rb1.getRating()); rb3.setRating(rb1.getRating()*2);//十颗星所以乘以2 break; case R.id.RatingBar02: rb1.setRating(rb2.getRating()); rb3.setRating(rb2.getRating()*2); break; case R.id.RatingBar03: rb1.setRating(rb3.getRating()/2); rb2.setRating(rb3.getRating()/2); break; } } } ; //绑定监听器 rb1.setOnRatingBarChangeListener(orbcl); rb2.setOnRatingBarChangeListener(orbcl); rb3.setOnRatingBarChangeListener(orbcl); } }3、运行程序,点击评分条看看效果,使用左右键再试试
有兴趣的同学可以研究一下,如何更换评分条中的图片,譬如罢星星换成花朵什么的。
相关文章推荐
- Android中ProgressBar、RatingBar、SeekBar三种进度条的区别(十一)
- Android学习 21->进度条之SeekBar和RatingBar
- SeekBar 和RatingBar --MarsChen Android 开发教程学习笔记
- android学习——SeekBar和RatingBar
- Android阶段学习笔记7.22 之 ProgressBar SeekBar RatingBar
- android中的高级组件(一)(progressBar,SeekBar,RatingBar,ScrollView,HorizontalScrollView,AutoCompleteTextView)
- android学习日记03--常用控件progressbar/seekbar
- android学习---SeekBar和RatingBar
- 【Android 初学】8、进度条(ProgressBar、SeekBar、RatingBar)
- android学习---progressbar和ratingbar
- 二、Android应用的界面编程(六)ProgressBar及其子类[SeekBar、RatingBar]er
- 深入了解Android进度条——ProgressBar,SeekBar和RatingBar
- 深入了解Android进度条——ProgressBar,SeekBar和RatingBar
- Android应用的界面编程:ProgressBar及其子类[SeekBar、RatingBar]
- Android进度条(ProgressBar)拖动条(SeekBar)星级滑块(RatingBar)的例子
- Android之ProgressBar、SeekBar、RatingBar
- 安卓学习第二十二天:ProgressBar与SeekBar与RatingBar
- Android基础控件 - ProgressBar、SeekBar和RatingBar
- android中ProgressBar的使用SeekBar的使用和RatingBar的使用