2014-10-19 180 views
22

複選框邊框在白色背景上不可見。如何設置複選框邊框顏色

enter image description here

我打了沒有成功不同的顏色參數。 我需要箱子的黑色邊框。 是的,有自定義複選框的例子。 在所有可繪製的示例中,普通框在新形狀內部可見。 而繪製形狀狹窄而不機器人文字:=「」

enter image description here

但爲什麼複選框不平常的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> 

任何想法?謝謝!

回答

5

您是否嘗試過here,herehere
隨着每回答你的問題

But why checkbox does not look okay in usual xml 

那是因爲有時,Android的圖形視圖是無法呈現自定義視圖,在這種情況下,你需要運行在模擬器或測試設備的代碼出。

UPDATE 在您不想使用繪圖資源的情況下,那麼你也可以在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> 
+1

在IntelliJ Idea的預覽中,它看起來沒問題。但在仿真器和設備上不可見。在你的參考文獻中,他們改變複選標記的顏色但我想改變框邊框顏色 – Niaz 2014-10-19 05:53:15

+0

因此,您需要爲框邊框設置一個切片。切片,如您將放置在可繪製文件夾中的圖像。 – Antrromet 2014-10-19 06:04:50

+0

謝謝,但沒有理解。你的意思是什麼? – Niaz 2014-10-19 06:07:34

42

的繪製形狀,您可以使用屬性

android:buttonTint="what you want"設置你複選框邊框顏色。

+0

Caio Lucas Alcantara謝謝 – 2015-09-24 11:46:48

+17

但只能從API級別21獲得...... – alexscmar 2015-10-19 08:25:23

+3

這也會設置複選框的內部。不是你想要的! – 2016-09-14 16:22:23

21

回答已經太遲了,但我想分享一下對我有用的東西。 粘貼以下代碼。

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

如果上面款式不那麼工作便會改變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> 
現在

main_activity.xml地方下面CheckBox代碼用parent="Theme.AppCompat.Light"替換父主題parent="Theme.AppCompat.NoActionBar"。希望它能起作用。

+0

只有當我在我的主應用程序樣式中插入樣式項時,它才適用於我。不管怎樣,謝謝! – 2016-11-01 11:06:21