2011-12-22 20 views
5

SeekBar android widget'ında sarı rengi değiştirmenin bir yolu var mı?Android'de arama çubuğu rengi nasıl değiştirilir?

enter image description here

Herhangi soln ?

+0

Bu bağlantıyı kontrol et, size yardımcı olabilir. [Varsayılan arama çubuğu rengini değiştirme] (http://stackoverflow.com/questions/5314488/changing-default-seekbar-color) –

+0

Bu bağlantı listesinden bu olabileceğini düşünüyorum - 1) [Özel Arama Çubuğu] (http : //www.mokasocial.com/2011/02/create-a-custom-styled-ui-slider-seekbar-in-android/) 2) [SeekBar Renk Değişimi] (http://stackoverflow.com/questions/ 3480456/arama-çubuğu-değiştirme-yolu-rengi-sarı-beyaz) 3) [SeekBar Özelleştirme] (http://www.anddev.org/seekbar_progressbar_customizing-t6083.html) – Praveenkumar

+0

Bu, http: yardımcı olabilir: //techdroid.kbeanie.com/2010/04/custom-progressbar-for-android.html –

cevap

1

Adım 1: Herhangi bir XML drawables oluşturmadan önce Kişisel Resim Drawables (9-Patch)

oluşturmak, bunu Seekbar arka plan için gerekli (adet 9 yama çekilebilir dahil) görüntü drawables oluşturmak işlemek emin olun ve ilerleme bölümleri. 9'lu taslaklar XML çizimleri tarafından aşağıdaki adımlarda kullanılacaktır.

aşağıdaki drawables oluşturun ve/içindeki res/çekilebilir/klasör koyun:

Adım 2: seekbar İlerleme Drawable

Şimdi (mavi çizgili bölüm Android'in Seekbar ilerleme için bir XML çekilebilir oluşturmak Örneğin), seekbar_progress_bg.xml diyoruz ve/içindeki res/çekilebilir/klasör yerleştirin içinde:

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

yukarıdaki XML, sonra katmanlar yarı saydam şerit yarı şeffaf, mavi gradyan çizer gradi üstüne görüntü ent. Vurgulanan kod satırı (satır 20), Çizelge 1'de oluşturulan çekilebilir klasörün içindeki çizgi (yarı saydam) görüntüsünü ifade eder.

XML yoluyla özel şekiller oluşturma hakkında daha fazla bilgi için, Android'e çizilebilir kaynaklara bakın. özellikle bitmap ve şekil bölümleri.

Adım 3:

Sonraki çekilebilir ana Seekbar ilerleme sağlamakla Drawable seekbar Arka plan; Arama çubuğunuzun içindeki arama çubuğu ilerleme ve ikincil İlerleme işlemlerine bir çizilebilir.

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

yukarıda vurgulanan kod (hat 8) ilk bit Seekbar arka plan görüntüsü atıfta (9-yama çekilebilir: res/çekilebilir/klasörü seekbar_progress.xml gibi çekilebilir bir ad verin sizin/'içine yerleştirin) Adım 1 ve (hat 29) oluşturulan çekilebilir bahsediyor sen 2.

Adım 4 Adım yukarıda oluşturulan: Bu noktada ... birlikte

hepsini getiren yapmanız gereken tüm çağrı aşağıdadır seekbar_progress arama çubuğunu bildirirken çekilebilir:

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

Vurgulanan kodun iki satırı, SeekBar öğesinin ilerleme ve başparmak çizgilerini ayarlar. @ Drawable/seekbar_progress, bir önceki adımda yaratılan XML çekilişini ifade eder.

+2

Bu sadece arka plan heh değiştirmek için çok acı görünüyor. – Zammbi

+1

Bunun doğrudan bir kopya olduğunu http://www.mokasocial.com/2011/02/create-a-custom-styled-ui-slider-seekbar-in-android/ adresinden öğrenebilirsiniz. Onun yerine kendi kelimelerini kullandın. – agweber

+0

Eğer SeekBarPreference'ınız javadaysa bunu nasıl yaparsınız? –

İlgili konular