需求
在登錄頁面。我們需要有一個復(fù)選框,讓用戶進行勾選,同意我們的流氓政策和協(xié)議,不然就不讓用。
實現(xiàn)效果
未選擇
已選擇
我們知道,這個CheckBox的默認樣式是一個正方形,現(xiàn)在改成一個圓形的話,首先需要準備兩個圖案。
創(chuàng)建一個文件baseline_checked_circle_24.xml
這個文件長這樣
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="#FFFFFF"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z" />
</vector>
再創(chuàng)建一個這樣的圖片baseline_uncheck_circle_outline_24.xml
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="#382D2D"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M16.59,7.58L10,14.17l-3.59,-3.58L5,12l5,5 8,-8zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z" />
</vector>
創(chuàng)建一個選擇器文件 checkbox_circle.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/baseline_checked_circle_24" android:state_checked="true" />
<item android:drawable="@drawable/baseline_uncheck_circle_outline_24" android:state_checked="false" />
</selector>
我們還可以創(chuàng)建這個選擇器文件checkbox_color_selector.xml
這是圓圈外面的顏色變換
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 選中狀態(tài)下的顏色 -->
<item android:color="#FFFFFF" android:state_checked="true" />
<!-- 未選中狀態(tài)下的顏色 -->
<item android:color="#382D2D" android:state_checked="false" />
</selector>
在布局文件文章來源:http://www.zghlxwxcb.cn/news/detail-643806.html
<CheckBox
android:id="@+id/login_cb"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_20"
android:background="#00FFFFFF"
android:button="@drawable/checkbox_circle"
android:buttonTint="@color/checkbox_color_selector"
android:checked="true"
android:paddingStart="@dimen/dp_5"
android:text="勾選即同意"
android:textColor="#FFFFFF"
android:textSize="@dimen/sp_12" />
在Activity里面文章來源地址http://www.zghlxwxcb.cn/news/detail-643806.html
loginCb.setOnCheckedChangeListener { _, isChecked ->
if(isChecked){
//選中
}else{
//未選中
}
}
到了這里,關(guān)于【Android】CheckBox的自定義樣式和使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!