Domanda

C'è un modo posso rimuovere l'immagine di sfondo bar nel widget di SeekBar Android?

Voglio solo per mostrare un cursore senza barra di avanzamento dietro di esso.

Rimuovi questa

Qualsiasi aiuto?

È stato utile?

Soluzione 2

Beh ho risolto il mio problema.

Per rimuovere lo sfondo, è necessario creare un drawable vuoto e impostarlo sul progressDrawable:

satBar.setProgressDrawable(invisibleBackground);

L'impostazione a NULL non sembra funzionare.

Altri suggerimenti

C'è un modo più semplice che non richiede la creazione di una nuova disegnabile. È sufficiente impostare la seguente nella definizione XML

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

O se si vuole farlo nel codice:

mySlider.setProgressDrawable(new ColorDrawable(android.R.color.transparent));

Un modo per farlo sarebbe quello di cambiare il colore della barra di avanzamento per il colore di sfondo. È necessario utilizzare un layout personalizzato.

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

Un layout personalizzato è riportata qui sotto - giocare con i colori:

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

creare un file XML seekbar_progress.xml e posizionarlo nella drawable folder.Here strisce è un'immagine, scattare una foto e posizionarlo nella cartella 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>

Ora nel file main xml che sta avendo il codice SeekBar, scattare una foto e conservare in drawable folder.here SeekBar è un'immagine.

    <SeekBar
             android:id="@+id/seekbar"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:background="@drawable/seekbar"
             android:progressDrawable="@drawable/seekbar_progress"/>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top