- <SeekBar
- android:id="@+id/bar_left"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginLeft="20dp"
- android:layout_marginRight="20dp"
- android:max="100"
- android:progressDrawable="@drawable/zhinengdiandan_blue"
- android:thumb="@drawable/shaixuan_btn" />
是滚动条的xml, thumb 是自定义滚动的按钮。
progressDrawable 是自定义滚动的背景。
max是最大值。
- public class PriceBetween extends Activity implements OnSeekBarChangeListener {
- /** 新建滚动条 */
- private SeekBar see;
- /** 新建textview */
- private TextView txt;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.pricebetween);
- // 添加组件
- see = (SeekBar) findViewById(R.id.bar);
- txt = (TextView) findViewById(R.id.num);
- // 监听进度条
- see.setOnSeekBarChangeListener(this);
- }
- /*
- * 对进度条的监听响应
- */
- @Override
- public void onProgressChanged(SeekBar seekBar, int progress,
- boolean fromUser) {
- }
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- // TODO Auto-generated method stub
- }
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- // TODO Auto-generated method stub
- int progress = seekBar.getProgress();
- /*
- * 将滚动条分为 4段,对应4种人数情况 当在4个数值区间的时候,按钮会自动的滑到特定的点上
- */
- // 当滑动的数值在0-13的时候,按钮就滑到 0,消费的人数是2人
- if (progress < 12) {
- seekBar.setProgress(0);
- txt.setText("消费的人数" + 2);
- }
- // 当滑动的数值在12-37的时候,按钮就滑到 25,消费的人数是 3人
- else if (12 <= progress && progress < 37) {
- seekBar.setProgress(25);
- txt.setText("消费的人数" + 3);
- }
- // 当滑动的数值在37-62的时候,按钮就滑到 50,消费的人数是 4-5人
- else if (37 <= progress && progress < 62) {
- seekBar.setProgress(50);
- txt.setText("消费的人数" + ("4-5"));
- }
- // 当滑动的数值在62-87的时候,按钮就滑到 75,消费的人数是 6-8人
- else if (62 <= progress && progress < 87) {
- seekBar.setProgress(75);
- txt.setText("消费的人数" + ("6-8"));
- }
- // 当滑动的数值在87-100的时候,按钮就滑到 100,消费的人数是 9-12人
- else if (87 <= progress) {
- seekBar.setProgress(100);
- txt.setText("消费的人数" + ("9-12"));
- }
- }
- }
重写了 滚动条onStopTrackingTouch方法,是滚动后的处理。onProgressChanged是在滚动条滚动的时候不断的调用该方法。onStartTrackingTouch是滚动条在开始滚动的时候调用的方法。
效果如下,
原文地址http://blog.csdn.net/yueqinglkong/article/details/12264189