2011-09-19 13 views
5

Beyaz bir arka plana karşı CheckBox yerleştiriyorum. Petek-öncesi cihazlarda, ama Petek üzerinde iyi görünüyor, grafiğin kısmi şeffaflığı ve beyazı var gibi görünüyor, bu yüzden onay kutusu işaretlenmediğinde, onu göremezsiniz.Android Honeycomb CheckBox beyaz arka planı görülemiyor

<CheckBox android:text="" style="@android:style/Theme.Holo.Light" 
android:layout_marginLeft="5dip" android:id="@+id/checkBoxWifiOnly" 
android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

Bu, hiçbir etkiye sahip olduğu görülmektedir:

ben şöyle Theme.Holo.Light stilini kullanarak çalıştı. Sözdizimini yanlış yazıyor muyum?

+0

sonra [1] [1] [link] Takip özel onay kutusu için izlemekte edin: http: // stackoverflow.com/questions/3569412/customize-check-box-preference –

+0

Teşekkürler, ancak standart onay kutusu beyaz stiline değiştirmek için özel bir onay kutusu yapmak istemiyorum - şu anda bir onay kutusu. siyah üzerine, bu yüzden, işaretlenmediğinde kutuyu göremezsiniz. – albnok

cevap

2

Temayı yanlış uygulıyorsunuz. CheckBox'ınızın stili olarak @android: style/Theme.Holo.Light uygulamalarını AndroidManifest.xml numaralı telefona uygulayın veya @android: style/Widget.Holo.Light.CompoundButton.CheckBox kullanın. Ayrıca "Holo" temasının sadece Honeycomb'ta ve daha yüksekte mevcut olduğunu unutmayın.

Onay kutusunun farklı bir arka plana sahip olmasını istiyorsanız, temayı uygulamanın tamamına uygulamak zorunda kalacağınızı düşünüyorum. şey Widget.Holo.Light.CompoundButton.CheckBox ve Widget.Holo.CompoundButton.CheckBox aynı olduğunu, ve hem "düğmesi" değişken kümesi vardır Widget.CompoundButton.CheckBox tarzı, uzatmak Tema özniteliği listChoiceIndicatorMultiple tarafından. Bu özniteliğin değeri, aslında, aydınlık ve karanlık tema için farklıdır.

böyle,/değerlerinde themes.xml dosyayı kendi tema oluşturmak için size öneririm:

<style name="Theme.MyAwesomeApp" parent="@android:style/Theme.Light"> 
... 
</style> 

ve değerler-v11/themes.xml böyle:

:
<style name="Theme.MyAwesomeApp" parent="@android:style/Theme.Holo.Light"> 
... 
</style> 

ve sonra bu gibi, AndroidManifest.xml'de yılında ayarlayın

<application android:theme="@style/Theme.MyAwesomeApp" ... > 
... 
</application> 

Belki de temalar ve stiller nasıl çalıştığını okumalısınız: https://developer.android.com/guide/topics/ui/themes.html