自定义滚动条

<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是滚动条在开始滚动的时候调用的方法。


效果如下,



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值