一、正常使用
-
代码
<!-- CheckBox --> <CheckBox android:id="@+id/man" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男"/> <!-- CheckBox --> <CheckBox android:id="@+id/woman" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女"/>
如果需要
设置文字与选择框的距离
,加上android:paddingLeft="5dp"
配置即可。public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener { @SuppressLint("WrongConstant") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 获得按钮 CheckBox manBox = (CheckBox) findViewById(R.id.man); CheckBox womanBox = (CheckBox) findViewById(R.id.woman); // 添加选中监听 manBox.setOnCheckedChangeListener(this); womanBox.setOnCheckedChangeListener(this); } @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { // 获取内容 String str = compoundButton.getText().toString(); // 是否选中 if (compoundButton.isChecked()) { Toast.makeText(this, str, Toast.LENGTH_LONG).show(); } } }
-
效果
二、drawable
自定义
-
xml
代码<!-- CheckBox --> <CheckBox android:id="@+id/none" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="无" android:button="@drawable/check_box"/>
-
drawable
代码<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="true" android:state_checked="false" android:drawable="@drawable/box_normal"/> <item android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/box_check"/> </selector>
-
效果
二、style
自定义
-
它还是基于
drawable
代码 -
xml
代码<!-- CheckBox --> <CheckBox android:id="@+id/none" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/MyCheckBox" android:text="无"/>
-
drawable
代码,需要在res/values/styles.xml
文件中添加,如果没有styles.xml
手动创建一下。<?xml version="1.0" encoding="utf-8"?> <resources> <style name="MyCheckBox"> <!-- 导入 drawable 文件中的 check_box --> <item name="android:button">@drawable/check_box</item> </style> </resources>
-
效果与
drawable
一致。