前言
都知道Android原生的控件顏色比較辣眼睛,所以實際開發中都會有改動,而選中框是在實際開發中常用的,比如同意這個協議就勾選上。
先寫一個控件
<CheckBox
android:text="同意服務協議"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
運行效果
這就是原生的控件,請問這個顏色好看嗎?
所以要改,在res文件夾下的values中的styles.xml文件中增加如下代碼:
<!--複選框樣式,未勾選時爲灰色,勾選好爲黃色-->
<style name="MyCheckBox" parent="Theme.AppCompat.Light">
<item name="colorControlNormal">#ADB6AF</item>
<item name="colorControlActivated">#F7F13D</item>
</style>
然後在佈局文件中應用這個樣式:
<CheckBox
android:text="同意服務協議"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/MyCheckBox"/>
運行效果:
這種修改方式是不同於通過background的來切換的,我保留了這個控件選中和取消選中的動畫效果,只修改了選中前後的顏色,這種方式是比較好的,android:theme="@style/MyCheckBox",MyCheckBox是剛纔我定義的樣式名稱。
去除選中時的水波紋效果其實一行代碼就搞定了,就是把背景值爲透明即可,@android:color/transparent
修改佈局文件:
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="同意服務協議"
android:theme="@style/MyCheckBox" />
這時你再運行起來就可以了。