使用Android SeekBar,通常可以将拇指向左或向右拖动,黄色进度色在拇指的左侧.我想要完全相反的方法,本质上是将黄色进度色翻转到拇指的右侧,并在y轴上翻转整个SeekBar.
With the Android SeekBar, you can normally drag the thumb to the left or to the right and the yellow progress color is to the left of the thumb. I want the exact opposite, essentially flipping the yellow progress color to the right of the thumb and flipping the entire SeekBar on the y-axis.
有人能指出我正确的方向吗?谢谢!
Can anyone point me in the right direction? Thanks!
推荐答案在弄懂一些代码之后,这就是我所得到的,并且看起来工作得很好.希望它将对将来的其他人有所帮助.
After fiddling around with some code this is what I got and it seems to work pretty well. Hopefully it will help someone else in the future.
public class ReversedSeekBar extends SeekBar { public ReversedSeekBar(Context context) { super(context); } public ReversedSeekBar(Context context, AttributeSet attrs) { super(context, attrs); } public ReversedSeekBar(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onDraw(Canvas canvas) { float px = this.getWidth() / 2.0f; float py = this.getHeight() / 2.0f; canvas.scale(-1, 1, px, py); super.onDraw(canvas); } @Override public boolean onTouchEvent(MotionEvent event) { event.setLocation(this.getWidth() - event.getX(), event.getY()); return super.onTouchEvent(event); } }
这是在以下两个问题的帮助下抛出的:
This was thrown together with the help of these two questions:
更多推荐
Android SeekBar水平翻转
发布评论