复选框边框在白色背景上不可见。
我玩了不同的颜色参数但没有成功。
我需要黑色边框。
是的,有自定义复选框的示例。
在所有可绘制的示例中,正常框在新形状内部可见。
android:text=""
中的可绘制形状很窄而没有文字。
但为什么复选框在通常的xml中看起来不行:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutBottom1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#FFFFFF"
android:gravity="center" >
<CheckBox
android:id="@+id/checkBottom1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="AAAA"
android:visibility="visible"
android:textColor="#000000"
android:checked="true" />
</LinearLayout>
有什么想法吗?谢谢!
答案 0 :(得分:26)
回答为时已晚,但我想分享一下对我有用的东西。
粘贴下面的代码。它会更改CheckBox
边框颜色和textColor
<强> styles.xml 强>
<style name="MyCheckBox" parent="Theme.AppCompat.NoActionBar">
<item name="colorControlNormal">#000</item> <!-- normal border color change as you wish -->
<item name="colorControlActivated">#000</item> <!-- activated color change as you wish -->
<item name="android:textColor">#FFFF3F3C</item> <!-- checkbox text color -->
</style>
现在位于CheckBox
代码
<CheckBox android:id="@+id/check_agree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="I agree"
android:theme="@style/MyCheckBox"/> <!-- here apply your checkbox style -->
如果以上样式无效,则将父主题parent="Theme.AppCompat.NoActionBar"
替换为parent="Theme.AppCompat.Light"
。希望它能起作用。
答案 1 :(得分:5)
您是否尝试过here,here和here? 并且在回答你的问题时
But why checkbox does not look okay in usual xml
多数派,因为有时候,android图形视图无法呈现自定义视图,在这种情况下,您需要在模拟器或设备上运行代码来测试它。
<强>更新强> 如果您不想使用drawable,那么您也可以在xml中定义可绘制的形状,如
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#ffffff" >
</solid>
<stroke
android:width="2dp"
android:color="#ff0000" >
</stroke>
<corners android:radius="5dp" />
<padding
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp" />
</shape>
答案 2 :(得分:3)
您可以使用它们之一:
app:buttonTint="color code here"
或
android:buttonTint="color code here"
答案 3 :(得分:0)
以上所有答案对我都没有用,但是this one确实有用。它建议使用选择器并将其应用到复选框,这对我来说效果很好。
这不能解释上面显示的复选框的奇怪外观,这就是为什么我不将这个问题标记为重复的原因,但是我认为它仍然可以作为解决方案。
答案 4 :(得分:0)
对于 API 级别 < 21,您可以使用:
app:buttonTint="EEEEEE"
对于 API 级别 >= 21,您可以使用:
android:buttonTint="EEEEEE"