如何设置checkbox的边框颜色

checkbox边框在白色背景下不可见。

在这里输入图像说明

我玩了不同的颜色参数没有成功。 我需要箱子的黑色边框。 是的,有自定义checkbox的例子。 在所有可绘制的例子中,普通盒子在新形状内部是可见的。 在android:text =“”中可绘制的形状很窄

在这里输入图像说明

但是为什么checkbox在通常的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的边框颜色。

现在回答已经太迟了,但我想分享一下对我有用的东西。 粘贴下面的代码。 这将改变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 parent="Theme.AppCompat.NoActionBar"replace父主题parent="Theme.AppCompat.Light" 。 希望它能工作。

你试过在这里 , 在这里和这里吗?
并根据回答你的问题

 But why checkbox does not look okay in usual xml 

那是因为有时候,androidgraphics视图不能渲染自定义视图,在这种情况下,您需要在模拟器或设备上运行代码来testing它。

更新如果你不想使用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>