Android CheckBox 修改选择框
生活随笔
收集整理的這篇文章主要介紹了
Android CheckBox 修改选择框
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
效果圖
是否被選中打印效果圖圖
?
CheckBox? 是多選框 ,選中之后可以再次點(diǎn)擊取消操作.
在使用的時(shí)候注意padding 是相對于字體來的不是相對選擇框
下面第一個(gè)位置調(diào)整了 使用了paddingleft?
在androidx以前布局
<CheckBoxandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="同意本協(xié)議" />
在androidx 中布局使用? 使用(不過使用CheckBox還是可以的)
<androidx.appcompat.widget.AppCompatCheckBoxandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingLeft="10dp"android:text="同意本協(xié)議" />
下面說想修改前面的圖片?
CheckBox 修改選擇框的圖片 可以通過使用style 或者直接是不button 來修改
?1 通過 style?
xml 代碼如下
<CheckBoxandroid:id="@+id/checkbox"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="同意本協(xié)議"style="@style/checkbox"/>
?values 里面 styles 代碼如下
<style name="checkbox"><item name="android:button">@drawable/checkbox</item></style>
checkbox 使用selector如下
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/check_unselect" android:state_checked="false" /><item android:drawable="@drawable/checkselect" android:state_checked="true" />
</selector>
這樣修改好了,
2 直接使用button
<CheckBoxandroid:id="@+id/checkbox"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="同意本協(xié)議"android:button="@drawable/checkbox"/>
checkbox 的代碼
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/check_unselect" android:state_checked="false" /><item android:drawable="@drawable/checkselect" android:state_checked="true" />
</selector>
關(guān)于CheckBox 是否被選中的監(jiān)聽 使用setOnCheckedChangeListener 如下
public class MainActivity extends AppCompatActivity {private CheckBox checkBox;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);checkBox = findViewById(R.id.checkbox);checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {Log.e("--------是否被選中", String.valueOf(isChecked));}});}
}
做多選篩選的時(shí)候使用也是比較方便的
下面多一個(gè)多選題效果圖如下
代碼
<CheckBoxandroid:id="@+id/checkbox11"android:layout_marginLeft="17dp"android:layout_marginRight="17dp"android:layout_width="match_parent"android:layout_height="40dp"android:layout_marginTop="10dp"android:gravity="center"android:button="@null"android:background="@drawable/drawable_radio_bg"android:text="選舉權(quán)和被選舉權(quán)" /><CheckBoxandroid:id="@+id/checkbox22"android:layout_marginLeft="17dp"android:layout_marginRight="17dp"android:layout_width="match_parent"android:layout_height="40dp"android:layout_marginTop="10dp"android:gravity="center"android:button="@null"android:background="@drawable/drawable_radio_bg"android:text="勞動(dòng)權(quán)" /><CheckBoxandroid:id="@+id/checkbox33"android:layout_marginTop="10dp"android:layout_marginLeft="17dp"android:layout_marginRight="17dp"android:layout_width="match_parent"android:layout_height="40dp"android:gravity="center"android:button="@null"android:background="@drawable/drawable_radio_bg"android:text="受教育權(quán)" /><CheckBoxandroid:id="@+id/checkbox44"android:layout_marginLeft="17dp"android:layout_marginRight="17dp"android:layout_width="match_parent"android:layout_marginTop="10dp"android:layout_height="40dp"android:gravity="center"android:button="@null"android:background="@drawable/drawable_radio_bg"android:text="監(jiān)督權(quán)" />
drawable? 里面的drawable_radio_bg
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/radio_bg" android:state_checked="false" /><item android:drawable="@drawable/radio_select_bg" android:state_checked="true" />
</selector>
然后就是radio_bg
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><corners android:radius="10dp"/><stroke android:color="#1296db" android:width="1dp"/>
</shape>
radio_select_bg
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><corners android:radius="10dp"/><solid android:color="#1296db"/>
</shape>
這樣就實(shí)現(xiàn)了效果
demo 參考地址
總結(jié)
以上是生活随笔為你收集整理的Android CheckBox 修改选择框的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: databinding 入门 知识
- 下一篇: 微信个性签名不见了