Android5.0開始,CheckBox帶有material design動畫效果,其默認的樣式如下圖所示:
可以看到,在上圖中,CheckBox的邊框為灰色,當被選中后,填充色為綠色。
那么如果我們想要改變邊框和填充色,同時也保存material design動畫效果,應該怎么做呢。
在style.xml文件中新增一條:
<style name="My_CheckBox" parent="@android:style/Widget.Material.CompoundButton.CheckBox"> <item name="android:colorControlActivated">@color/colorAccent</item> <item name="android:colorControlNormal">@color/colorPrimary</item> </style>
然后,設置CheckBox:
<CheckBox android:id="@+id/save_pass" android:layout_width="wrap_content" android:layout_height="wrap_content" android:theme="@style/My_CheckBox"/>
需要注意的是:
- colorControlNormal和colorControlActivated分別對應框架控件在普通狀態和激活狀態下的顏色;
- 在為CheckBox設置style時,需要使用
android:theme="@style/My_CheckBox"
,使用style="@style/My_CheckBox"
沒有效果。
我使用的Android Studio版本為2.2.3,手機上Android版本為5.0.2。