Android SeekBar перевернулся горизонтально - PullRequest
8 голосов
/ 01 октября 2011

С помощью Android SeekBar вы можете обычно перетаскивать большой палец влево или вправо, а желтый индикатор прогресса - слева от большого пальца. Я хочу с точностью до наоборот, по сути, щелкнуть желтым цветом прогресса справа от большого пальца и перевернуть весь SeekBar по оси Y.

Кто-нибудь может указать мне правильное направление? Спасибо!

Ответы [ 3 ]

20 голосов
/ 04 октября 2011

После того, как я покопался в каком-то коде, это то, что я получил, и кажется, что оно работает довольно хорошо.Надеюсь, это поможет кому-то еще в будущем.

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);
    }
}

Это было скомбинировано с помощью этих двух вопросов:

  1. Как вы можете отобразитьПеревернутый текст с текстовым представлением в Android?
  2. Как получить рабочий вертикальный SeekBar в Android?
3 голосов
/ 08 января 2014

Вы пробовали seekbar.setRotation (180)?Он переворачивает панель поиска на 180 градусов и переворачивается вверх ногами, что означает, что левая сторона максимальна, правая сторона равна 0 с цветом справа от большого пальца.Нет необходимости создавать пользовательскую панель поиска таким образом.

1 голос
/ 01 октября 2011

Вам следует заняться созданием пользовательского индикатора выполнения. Учитывая, что вы хотите сделать, у вас уже есть нужные изображения в Android SDK. Я извлек бы их и отредактировал бы их соответственно. Вот учебник, который поможет вам начать .

...