2013-05-15 2 views
11

Недавно я работал над приложением, которое имеет SeekBar. SeekBar довольно тонкий, поэтому иногда его трудно использовать (вы должны быть очень точными в своих жестах). Есть ли способ увеличить осязаемую область SeekBar? Поэтому я хочу, чтобы пользователи могли касаться выше или ниже SeekBar, чтобы переместить большой палец. Буду признателен за любую помощь, которую вы можете предложить!Android SeekBar Touch Sensitivity

ответ

28

Одним из самых простых подходов заключается в увеличении значения атрибута android:padding:

<SeekBar 
    android:id="@+id/yourSeekBar" 
    android:progressDrawable="@drawable/seekbar_progress" 
    android:thumb="@drawable/seekbar_thumb" 
    android:paddingTop="@dimen/your_topPadding" 
    android:paddingBottom="@dimen/your_bottomPadding" /> 

Другая возможность: сделать пользовательский палец и увеличить размер его фона, добавляя, например, прозрачная граница.

Вы также можете использовать this library для более сложных целей SeekBars.

Кроме того, there у вас есть хороший учебник, описывающий создание SeekBar.

+1

Хорошо, что было легко! Добавление отступов сверху и снизу работало как шарм! – Zero

+0

Если содержащее представление достаточно велико, вы также можете установить отрицательные поля для компенсации заполнения, чтобы он не испортил ваш макет, предполагая, что у вас нет других видимых виджетов в увеличенной области. – Tenfour04