2011-12-22 31 views
5

C'è un modo per cambiare il colore giallo nel widget Android di SeekBar?Come modificare il colore della barra di ricerca in Android?

enter image description here

Qualsiasi soln?

+0

Controlla questo link può aiutarti. [Modifica del colore della barra di ricerca predefinita] (http://stackoverflow.com/questions/5314488/changing-default-seekbar-color) –

+0

Penso che questo sia possibile da questo elenco di collegamenti - 1) [Custom Seekbar] (http : //www.mokasocial.com/2011/02/create-a-custom-styled-ui-slider-seekbar-in-android/) 2) [SeekBar Color Change] (http://stackoverflow.com/questions/ 3480456/seek-bar-change-path-color-from-yellow-to-white) 3) [SeekBar Customizing] (http://www.anddev.org/seekbar_progressbar_customizing-t6083.html) – Praveenkumar

+0

Questo può aiutare a http: //techdroid.kbeanie.com/2010/04/custom-progressbar-for-android.html –

risposta

1

Passaggio 1: creare l'immagine drawable (9-Patch)

Prima di creare qualsiasi drawable XML, assicuratevi di creare le drawable immagine (tra cui uno drawable 9-patch) necessarie per lo sfondo SeekBar, gestire, e sezioni di progresso. I drawable a 9 patch verranno utilizzati dai drawable XML nei passaggi seguenti.

Creare i seguenti drawable e metterli nel vostro/res/drawable/cartella:

Fase 2: SeekBar Progress Drawable

Ora creare un drawable XML per il progresso Android SeekBar (la sezione blu-a strisce nell'esempio), chiamare seekbar_progress_bg.xml, e posizionarlo nella tua/res/drawable/cartella:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <clip> 
      <shape> 
       <gradient 
        android:startColor="#FF5e8ea3" 
        android:centerColor="#FF32a0d2" 
        android:centerY="0.1" 
        android:endColor="#FF13729e" 
        android:angle="270" 
       /> 
      </shape> 
     </clip> 
    </item> 
    <item> 
     <clip> 
     <bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
      android:src="@drawable/stripe_bg" 
      android:tileMode="repeat" 
      android:antialias="true" 
      android:dither="false" 
      android:filter="false" 
      android:gravity="left" 
     /> 
     </clip> 
    </item> 
</layer-list> 

Quanto sopra XML prima traccia una semi-trasparente, gradiente blu, poi strati striscia semitrasparente immagine in cima ai gradi ent. La riga di codice evidenziata (riga 20) fa riferimento all'immagine a strisce (semitrasparente) all'interno della cartella drawable, creata al passaggio 1.

Per ulteriori informazioni sulla creazione di forme personalizzate tramite XML, consultare i documenti sulle risorse estraibili Android , in particolare le sezioni bitmap e forma.

Fase 3: SeekBar Background Drawable

Avanti creare i principali progressi SeekBar drawable; assegnerà un drawable all'avanzamento della barra di ricerca e alle azioni secondaryProgress all'interno della barra di ricerca. Un nome alla cosa drawable come seekbar_progress.xml, posizionarlo all'interno del vostro/res/drawable/cartella:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@android:id/background"> 
     <nine-patch 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:src="@drawable/seekbar_background" 
      android:dither="true" 
     /> 
    </item> 
    <item android:id="@android:id/secondaryProgress"> 
     <clip> 
      <shape> 
       <gradient 
        android:startColor="#80028ac8" 
        android:centerColor="#80127fb1" 
        android:centerY="0.75" 
        android:endColor="#a004638f" 
        android:angle="270" 
       /> 
      </shape> 
     </clip> 
    </item> 
    <item 
     android:id="@android:id/progress" 
     android:drawable="@drawable/seekbar_progress_bg" 
    /> 
</layer-list> 

Il primo bit di codice evidenziato sopra (linea 8) si riferisce all'immagine di sfondo SeekBar (9-patch drawable) creato nel passaggio 1 e (linea 29) si riferisce alla drawable creato in precedenza nel passaggio 2.

Fase 4: Mettere tutto insieme ...

a questo punto, tutto quello che dovete fare è chiamare il seekbar_progress drawable quando si dichiara la barra di ricerca:

<SeekBar 
     android:id="@+id/frequency_slider" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:max="20" 
     android:progress="0" 
     android:secondaryProgress="0" 
     android:progressDrawable="@drawable/seekbar_progress" 
     android:thumb="@drawable/seek_thumb" 
/> 

Le due righe del codice evidenziato impostano il progresso e i tasti di comando del pollice per la voce SeekBar. Il @ drawable/seekbar_progress si riferisce al drawable XML creato nel passaggio precedente.

+2

Sembra molto doloroso cambiare solo lo sfondo heh. – Zammbi

+1

Mi piace come questa è una copia diretta da http://www.mokasocial.com/2011/02/create-a-custom-styled-ui-slider-seekbar-in-android/ ... È utile, ma avresti potuto usare le tue parole invece. – agweber

+0

Come faresti se il tuo SeekBarPreference è tutto in java? –

Problemi correlati