У меня есть приложение по умолчанию seekbar
в моем приложении для Android. Я заметил, что когда thumb
на seekbar
удерживается, он становится желтым. Вместо этого я хочу, чтобы он стал синим, когда он удерживается. Как это может быть сделано? Я прошу прощения, если это основной вопрос, я новичок в разработке Android. Спасибо.
Как изменить цвет большого пальца в панели поиска?
Ответ 1
Если вам не нравится большой палец по умолчанию, вам нужно будет создать свой собственный Drawable
, который вы можете установить большим пальцем в код с чем-то вроде
Drawable thumb = getResources().getDrawable( R.drawable.myThumb );
SeekBar mSeekBar = (SeekBar) findViewById(R.id.mySeekBar);
mSeekbar.setThumb(thumb);
Или вы можете установить большой палец в формате XML с помощью
<SeekBar
...
android:thumb="@drawable/seek_thumb" />
Фактическим Drawable может быть изображение, форма или любой другой вид Drawable, который вы, возможно, захотите. Если вы хотите, чтобы большой палец изменял внешний вид при нажатии, вам нужно создать State List Drawable
.
Ответ 2
Используйте фильтры изображений, чтобы изменить цвет графиков списка состояний по умолчанию (включая SeekBar):
// Change seekbar color to green.
SeekBar sb = (SeekBar) findViewById(R.id.seekBar1);
sb.getProgressDrawable().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);
sb.getThumb().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);
Метод getThumb
доступен только с API 16+ (Jelly Bean).
Ответ 3
Нет необходимости в дополнительном стиле. Android поддерживает его через xml. Просто добавьте android: thumbTint = "@color/yourColor" в свой поиск.
Например,
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:thumbTint="@color/red"
android:progress="0" />