【问题标题】:Android Honeycomb CheckBox against white background cannot be seen看不到白色背景的Android Honeycomb CheckBox
【发布时间】:2011-11-19 22:59:23
【问题描述】:

我在白色背景上放置了一个复选框。在之前的 Honeycomb 设备上看起来不错,但在 Honeycomb 上,图形似乎具有部分透明度并且是白色的,因此当取消选中该复选框时,您看不到它。

我尝试使用Theme.Holo.Light 样式如下:

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

这似乎没有效果。是不是语法输入有误?

【问题讨论】:

  • 如果您关注自定义复选框,请点击此 [链接][1] [1]:stackoverflow.com/questions/3569412/…
  • 谢谢,但我不想让它成为一个自定义复选框,只是将其更改为标准的白色复选框样式 - 现在它是一个黑色复选框,所以你不能未勾选时请查看该框。

标签: android checkbox styles android-3.0-honeycomb


【解决方案1】:

您以错误的方式应用主题。将 @android:style/Theme.Holo.Light 应用于 AndroidManifest.xml 中的整个应用程序/活动,或使用 @android:style/Widget.Holo.Light.CompoundButton.CheckBox 作为 CheckBox 的样式。另请注意,“Holo”主题仅适用于 Honeycomb 及更高版本。

如果您希望复选框具有不同的背景,我认为您必须将主题应用于整个应用程序。问题是,Widget.Holo.Light.CompoundButton.CheckBoxWidget.Holo.CompoundButton.CheckBox 是相同的,并且都扩展了 Widget.CompoundButton。 CheckBox 样式,它具有由主题属性 listChoiceIndicatorMultiple 设置的“按钮”变量。事实上,这个属性的值对于浅色和深色主题是不同的。

我建议您在 values/themes.xml 文件中创建自己的主题,如下所示:

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

values-v11/themes.xml 中,像这样:

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

然后在你的 AndroidManifest.xml 中设置它,像这样:

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

也许您还应该阅读主题和样式的工作原理:https://developer.android.com/guide/topics/ui/themes.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 2013-11-27
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多