1. 程式人生 > >android修改checkbox樣式邊框顏色

android修改checkbox樣式邊框顏色

之前寫了一個自動登入和記住密碼的功能,用的是checkbox控制元件,但是原生控制元件邊框樣式不太符合要求

如圖,我想修改成白色

在網上查了一些資料,說在style.xml檔案中定義一個樣式  

 <style name="My_CheckBox" parent="@android:style/Widget.Material.CompoundButton.CheckBox">
        <item name="android:colorControlActivated">@color/white</item>
        <item name="android:colorControlNormal">@color/white</item>
    </style>

在xml檔案checkbox控制元件下新增樣式  注意 要用

android:theme="@style/My_CheckBox"

這個parent是Material下面的,修改之後的樣式如下

本來沒什麼問題 ,但是後來偶爾登入一次  發現xml檔案報錯,是checkbox報錯,但是xml檔案又沒有標紅,找了半天才發現問題出在樣式上面   然後查詢資料 發現還有一種自定義樣式是

   <style name="MyCheckBox" parent="Theme.AppCompat.Light">
        <item name="colorControlNormal">@color/white</item>
        <item name="colorControlActivated">@color/white</item>
    </style>

這個樣式parent是Theme.AppCopat.Light

換上這一種就OK了 。

網上看到還有一種  

<style name="CustomCheckboxTheme" parent="@android:style/Widget.CompoundButton.CheckBox">
	<item name="android:button">@drawable/checkbox_style</item>
</style>

parent是Widget.CompoundButton.CheckBox 暫未驗證是否正確

先記錄下來,回頭再查查資料再作記錄