Я попытался выяснить, как установить большой палец с прокруткой с фиксированной высотой.В конце концов, я сделал это путем переопределения метода 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