В SeekBar максимальное значение не может быть выбрано - PullRequest
3 голосов
/ 01 февраля 2011

в моем макете XML у меня есть SeekBar, как это:

        <SeekBar
                android:id="@+id/nbackPrefSeekBar"
                android:layout_height="wrap_content"
                android:layout_width="fill_parent"
                android:max="@integer/maxnback"
        />

Проблема в том, что пользователь не может выбрать максимальное значение с помощью указателя (щелкнув, перетащив ...). Это возможно, если вручную сфокусировать панель поиска с помощью клавиш (вверх, вниз) и установить для нее максимальное значение (правая клавиша). С помощью пальца вы можете выбрать только значение max-1.

например. если у вас есть максимальное значение 3, вы можете выбрать только 0, 1 и 2 (и с клавишами даже 3). Он всегда выбирает значение слева от вашего пальца, и поэтому не может быть выбрано максимальное значение, так как оно находится на самой правой стороне панели поиска.

Я на самом деле пытался программно изменить параметр ширины перед отображением (надеясь, что вы сможете выбрать самое правильное значение, если вы сможете перетащить его за самую правую точку), но я застрял в getWidth (), возвращая 0.

Проблема возникает на каждой протестированной платформе: 1.5, 1.6, 2.3, а также на реальном устройстве 2.1.

Есть какие-нибудь подсказки? Спасибо.

1 Ответ

8 голосов
/ 01 февраля 2011

Возможно, это длинный выстрел, но я вижу, что вы используете fill_parent по ширине.Мне интересно, если у вас просто возникают проблемы с "перебиранием жира" в конце сенсорного экрана.Попробуйте добавить следующее в ваш XML-файл и посмотрите, сможете ли вы выбрать максимальное значение.

android:layout_margin="50"
...