Android удалить фон SeekBar - PullRequest
       8

Android удалить фон SeekBar

9 голосов
/ 17 марта 2010

Есть ли способ удалить фоновое изображение панели в виджете Android SeekBar?

Я просто хочу, чтобы на нем был слайдер без индикатора прогресса.

Remove this

Любая помощь?

Ответы [ 5 ]

34 голосов
/ 28 сентября 2011

Существует более простой способ, который не требует создания нового рисунка. Просто установите следующее в своем определении xml

android:progressDrawable="@android:color/transparent"

Или, если вы хотите сделать это в своем коде:

mySlider.setProgressDrawable(new ColorDrawable(android.R.color.transparent));
5 голосов
/ 17 марта 2010

Ну, я решил свою проблему.

Чтобы удалить фон, вы должны создать пустой объект рисования и установить для него progressDrawable:

satBar.setProgressDrawable(invisibleBackground);

Установка его в null, похоже, не работает.

3 голосов
/ 17 марта 2010

Вы пробовали setBackgroundDrawable(null)?

2 голосов
/ 09 сентября 2011

Один из способов сделать это - изменить цвет индикатора выполнения на цвет фона.Вы должны использовать пользовательский макет.

<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>

0 голосов
/ 17 апреля 2012

создайте XML-файл seekbar_progress.xml и поместите его в папку drawable. Вот полоски - это изображение, возьмите изображение и поместите его в папку drawable.

seekbar_progress.xml

<?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. Здесь на поисковой панели находится изображение.

    <SeekBar
             android:id="@+id/seekbar"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:background="@drawable/seekbar"
             android:progressDrawable="@drawable/seekbar_progress"/>
...