Android CheckBox 复选框 |
您所在的位置:网站首页 › 复选框怎么选中状态文档 › Android CheckBox 复选框 |
Android CheckBox (复选框) 继承自 Button ,可以说是只有两种状态的按钮 (选中或未选中状态) 可以把多个 CheckBox 放在一起实现同时选中多项,但是,记住,它们之间没有任何关系,一个的选中并不会影响另一个选中或者不选中 CheckBox (复选框)CheckBox 除了从 Button 继承而来的属性外,没有自己的属性,但从 CompoundButton 继承了一个属性 android:checked 用于表示是否选中 属性 说明 android:checked 设置或者获取 CheckBox 是否选中所以,创建一个 CheckBox 很简单 我们写一个 demo 来创建几个 CheckBox 创建一个 空的 Android 项目 cn.twle.android.CheckBox 修改 activity_main.xml 添加几个 CheckBox 运行范例,显示如下 获得选中的 CheckBox 的值CheckBox 提供了几个方法和事件用于设置或者获取自身是否选中状态 方法 说明 isChecked() 判断自身是否选中 setChecked(boolean checked) 设置自身是否选中状态 事件 说明 OnCheckedChangeListener 选中状态改变监听器,当自身选中状态变化时会触发这个事件所以,如果要获得选中的 CheckBox,有两种方式 为每个 CheckBox 添加事件:setOnCheckedChangeListener 弄一个按钮,在点击后,对每个 CheckBox 进行判断 isChecked()这里我们使用第一种方法来演示如何获得选中的 CheckBox 复用上面的 demo 修改 MainActivity.java 为每个 CheckBox 添加事件 OnCheckedChangeListener package cn.twle.android.checkbox; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.CompoundButton; import android.widget.CheckBox; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener{ private CheckBox java; private CheckBox android; private CheckBox ios; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); java = (CheckBox) findViewById(R.id.java); android = (CheckBox) findViewById(R.id.android); ios = (CheckBox) findViewById(R.id.ios); java.setOnCheckedChangeListener(this); android.setOnCheckedChangeListener(this); ios.setOnCheckedChangeListener(this); } @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { if(compoundButton.isChecked()) Toast.makeText(this,compoundButton.getText().toString(),Toast.LENGTH_SHORT).show(); } } 自定义点击效果有时候我们需要实现自己的选中和非选中效果,比如 √ 和 √ 这时候只要用 CheckBox 改改就好了,很简单的,下面我们就来定制一个 创建一个 空的 Android 项目 cn.twle.android.CheckBox 下载 /static/i/android/checkbox.zip 并将里面的图片拖到 res/drawable 目录下 在 res/drawable 目录下新建 selctor 资源文件 language_checkbox.xml ,用于设置选中与没选中时的切换图片 修改 activity_main.xml 添加几个 RadioButton ,通过属性 android:button="@drawable/language_checkbox" 改变文字与选择框的相对位置要控制选择框的位置,只要 在 XML 中设置 android:button="@null" 在 XML 中设置 android:drawableTop="@android:drawable/btn_radio"可以把 drawablexxx 替换想要控制的方向 修改文字与选择框的距离如果需要调节文字与选择框之间的距离,有以下两种方法 在 XML 代码中使用 android:paddingxxx = "xxx" 来控制距离 使用 Java 代码动态计算 paddingLeft rb.setButtonDrawable(R.drawable.rad_btn_selctor); int rb_paddingLeft = getResources().getDrawable(R.mipmap.ic_checkbox_checked).getIntrinsicWidth()+5; rb.setPadding(rb_paddingLeft, 0, 0, 0); 参考文档 Android CheckBox |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |