Android CheckBox修改選中顏色並去除選中時的水波紋效果

前言

都知道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" />

這時你再運行起來就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章