Android SeekBar水平翻转

mhe*_*nry 8 android seekbar

使用Android SeekBar,您通常可以将拇指向左或向右拖动,黄色进度颜色位于拇指左侧.我希望完全相反,基本上将黄色进度颜色翻转到拇指右侧,并在y轴上翻转整个SeekBar.

谁能指出我正确的方向?谢谢!

mhe*_*nry 20

在摆弄一些代码后,这就是我得到的,它似乎工作得很好.希望将来可以帮助其他人.

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是在这两个问题的帮助下抛出的:

  1. 如何在Android中使用textview显示颠倒文本?
  2. 如何在Android中获得有效的垂直SeekBar?