当背景为白色时,Android 5.0会使未选中的复选框不可见

Ale*_*aux 16 checkbox android xamarin android-5.0-lollipop

我有一个Android应用程序,在Android 5.0之前一直运行良好.通过更新,我注意到如果未选中它们,则放置在白色背景上的复选框和单选按钮将不可见.例如,这是在jellybean中选中和取消选中的复选框:

在此输入图像描述 在此输入图像描述

如您所见,未选中复选框时,会出现浅灰色方框.但是,在更新到棒棒糖之后,这就是它的样子:

在此输入图像描述在此输入图像描述

所以,正如你所看到的,没有灰色方块或任何暗示这里有复选框的东西.无线电按钮也会出现同样的问题.我真的不想仅仅因为这个简单的ting而创造新的drawables的痛苦.我已经看到android 5的辅助功能菜单中的复选框有一个很好的方块,但还没弄明白如何使我看起来一样:

在此输入图像描述

我尝试创建一个新的android项目,只添加一些带有白色背景的复选框和单选按钮,但是在取消选中时它们仍然是不可见的.我正在使用xamarin studio和c#,如果这有任何区别的话.无论如何,我会理解你发布的任何java代码.

这是我的复选框代码:

          <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:id="@+id/chkSeleccionar"
            android:layout_gravity="right"
            android:gravity="center_vertical"
            android:clickable="false"
            android:focusable="false"
            android:scaleX="1.5"
            android:scaleY="1.3"
            android:layout_weight="50"
          />
Run Code Online (Sandbox Code Playgroud)

Fro*_*ket 10

我无法让主题发挥作用,但对我有用的是以下内容:

android:button="@drawable/abc_btn_check_material"
android:buttonTint="@color/red"
Run Code Online (Sandbox Code Playgroud)

将它放入CheckBox XML布局中.

  • 加1为android:buttonTint (2认同)

小智 9

只需改变

android:buttonTint="YOUR COLOR"
Run Code Online (Sandbox Code Playgroud)

有用.


ian*_*ake 2

确保您使用的是 Android 5.0 设备的 Material 主题 - 这将确保您的样式与其他组件保持一致。android:theme在 AndroidManifest.xml 文件(在您的应用程序或单个 Activity 上)中查找元素,然后查找其中设置的样式并检查parent该样式的属性。