复选框边框在白色背景上是不可见的。
我玩了不同的颜色参数没有成功。我需要黑色边框。是的,有自定义复选框的示例。在所有可绘制的示例中,正常框在新形状内部可见。在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>
有任何想法吗?谢谢!
您可以使用该物业
android:buttonTint="what you want"
设置您的复选框边框颜色。
回答为时已晚,但我想分享一下对我有用的东西。粘贴下面的代码。它将改变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
代码下面的main_activity.xml位置
<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"
。希望它能奏效。
But why checkbox does not look okay in usual xml
这是因为有时,android图形视图无法呈现自定义视图,在这种情况下,您需要在模拟器或设备上运行代码来测试它。
更新如果你不想使用drawables,那么你也可以在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>