Есть ли способ удалить фоновое изображение панели в виджете Android SeekBar?
Я просто хочу, чтобы на нем был слайдер без индикатора прогресса.
Любая помощь?
Существует более простой способ, который не требует создания нового рисунка. Просто установите следующее в своем определении xml
android:progressDrawable="@android:color/transparent"
Или, если вы хотите сделать это в своем коде:
mySlider.setProgressDrawable(new ColorDrawable(android.R.color.transparent));
Ну, я решил свою проблему.
Чтобы удалить фон, вы должны создать пустой объект рисования и установить для него progressDrawable:
satBar.setProgressDrawable(invisibleBackground);
Установка его в null, похоже, не работает.
Вы пробовали setBackgroundDrawable(null)?
setBackgroundDrawable(null)
Один из способов сделать это - изменить цвет индикатора выполнения на цвет фона.Вы должны использовать пользовательский макет.
<SeekBar android:layout_width="350px" android:layout_height="25px" android:layout_margin="30px" android:layout_x="60px" android:layout_y="185px" android:id="@+id/seekbar" android:progressDrawable="@drawable/myprogress" />
Ниже приведен пользовательский макет - поиграйте с цветами:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape> <corners android:radius="5dip" /> <gradient android:startColor="#ff9d9e9d" android:centerColor="#ff5a5d5a" android:centerY="0.75" android:endColor="#ff747674" android:angle="270" /> </shape> </item> <item android:id="@android:id/progress" > <clip> <shape> <corners android:radius="5dip" /> <gradient android:startColor="#9191FE" android:centerColor="#9191FE" android:centerY="0.75" android:endColor="#9191FE" android:angle="270" /> </shape> </clip> </item>
создайте XML-файл seekbar_progress.xml и поместите его в папку drawable. Вот полоски - это изображение, возьмите изображение и поместите его в папку drawable.
seekbar_progress.xml
drawable
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <clip> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/stripes" android:tileMode="repeat" android:antialias="true" android:dither="true" android:filter="false" android:gravity="left" /> </clip> </item> </layer-list>
Теперь в вашем файле main xml, содержащем код поисковой панели, возьмите изображение и сохраните в папке drawable. Здесь на поисковой панели находится изображение.
main xml
<SeekBar android:id="@+id/seekbar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/seekbar" android:progressDrawable="@drawable/seekbar_progress"/>