2011-09-19 23 views
5

Tôi đang đặt một CheckBox trên nền trắng. Nó có vẻ tốt trên các thiết bị Pre-Honeycomb nhưng trên Honeycomb, có vẻ như đồ họa có một phần minh bạch và có màu trắng, vì vậy khi hộp kiểm là unticked, bạn không thể nhìn thấy nó.Android Honeycomb CheckBox với nền màu trắng không thể được nhìn thấy

tôi đã cố gắng sử dụng Theme.Holo.Light phong cách như sau:

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

này dường như không có hiệu lực. Tôi có gõ sai cú pháp không?

+0

Nếu bạn để mắt tới cho vào hộp kiểm tùy chỉnh sau đó làm theo này [link] [1] [1]: http: // thanksoverflow.com/questions/3569412/customize-check-box-preference –

+0

Cảm ơn, nhưng tôi không muốn làm cho nó trở thành một hộp kiểm tùy chỉnh, chỉ để thay đổi nó thành kiểu hộp kiểm chuẩn màu trắng - ngay bây giờ nó là một hộp kiểm- trên màu đen, do đó bạn không thể nhìn thấy hộp khi không được tìm thấy. – albnok

Trả lời

2

Bạn đang áp dụng chủ đề theo cách sai. Áp dụng @android: style/Theme.Holo.Light cho toàn bộ ứng dụng/hoạt động trong AndroidManifest.xml hoặc sử dụng @android: style/Widget.Holo.Light.CompoundButton.CheckBox làm kiểu của Hộp kiểm của bạn. Cũng lưu ý rằng chủ đề "Holo" chỉ có sẵn trên Honeycomb và cao hơn.

Tôi nghĩ rằng bạn sẽ phải áp dụng chủ đề cho toàn bộ ứng dụng, nếu bạn muốn hộp kiểm có nền khác. Có điều là, rằng Widget.Holo.Light.CompoundButton.CheckBoxWidget.Holo.CompoundButton.CheckBox đều giống nhau và cả hai kéo dài Widget.CompoundButton.CheckBox phong cách, trong đó có các "nút" biến bộ theo thuộc tính chủ đề listChoiceIndicatorMultiple. Giá trị của thuộc tính này là, trên thực tế, khác nhau cho chủ đề ánh sáng và bóng tối.

tôi muốn đề nghị bạn tạo chủ đề của riêng bạn trong giá trị/themes.xml tập tin, như thế này:

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

và trong giá trị-v11/themes.xml, như thế này:

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

và sau đó đặt nó trong bạn AndroidManifest.xml, như thế này:

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

Có lẽ bạn cũng nên đọc như thế nào các chủ đề và phong cách làm việc: https://developer.android.com/guide/topics/ui/themes.html

Các vấn đề liên quan