Как установить пользовательский большой палец в ScrollView - PullRequest
0 голосов
/ 23 апреля 2019

Я попытался выяснить, как установить большой палец с прокруткой с фиксированной высотой.В конце концов, я сделал это путем переопределения метода ScrollView, но я думаю, что это не очень хорошее решение.Есть ли более простой способ решения моей проблемы.

Основная проблема заключалась в том, что растяжение большого пальца зависит от содержимого внутри прокрутки. Я установил фиксированный размер путем переопределения computeVerticalScrollExtent и пересчета смещения в computeVerticalScrollOffset.Что-то в этом роде

public class MyScrollView extends ScrollView {

    static final int CONST_THUMB = 100; // thumb height
    float divider = 1;

    public MyScrollView(Context context) {
        super(context);
    }

    @Override
    public int computeVerticalScrollExtent() {

    int length = computeVerticalScrollRange() - 
                 super.computeVerticalScrollExtent();
    if(length > 0)
           divider = (float )(computeVerticalScrollRange() - 
                              CONST_THUMB)/(float )length;
    else
         return super.computeVerticalScrollExtent();

    return CONST_THUMB;
    }

    @Override
    public int computeVerticalScrollOffset() {
        return (int )((float )super.computeVerticalScrollOffset() * divider);
    }
}

Он установил фиксированную высоту большого пальца и работает для меня. Есть ли у Android более эффективное решение?Мне нужно иметь большой палец, как вертикальный SeekBar

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...