android怎么把checkbox状态设置为选中状态

android怎么把checkbox状态设置为选中状态,第1张

CheckBox和Button一样,也是一种古老的控件,它的优点在于,不用用户去填写具体的信息,只需轻轻点击,缺点在于只有“是”和“否”两种情况,但往往利用它的这个特性,来获取用户的一些信息。如一个身份表单中,常常让用户填写“是否已经结婚”,显然让用户去填写“是”或“否”是不合理的,理想的情景是用如下控件:

选中后的状态

建立checkBox的布局:

<CheckBox

android:id="@+id/cb"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:checked="false"

android:text="已婚"

></CheckBox>

显然,Checked属性是CheckBox最重要的属性之一,改变它的方式有三种:

1、XML中申明,在xml布局中指定默认的状态android:checked="true"。

2、代码动态改变,在Java中可以直接调用checkbox.setChecked(true)

3、用户触摸,即注册OnCheckedChangeListener事件。

实例如下:

//获取CheckBox实例

CheckBox

cb

=

(CheckBox)this.findViewById(R.id.cb)

//绑定事件

cb.setOnCheckedChangeListener(new

OnCheckedChangeListener()

{

@Override

public

void

onCheckedChanged(CompoundButton

arg0,

boolean

arg1)

{

//

TODO

Auto-generated

method

stub

Toast.makeText(MyActivity.this,

arg1?"选中了":"取消了选中"

,

Toast.LENGTH_LONG).show()

}

})

在开发当中,默认的状态是未选中的,如果需要默认选中,通常是在xml中指定即可。

如果我们想要改变边框和填充色,同时也保存material design动画效果

需要新建一个 style :

设置checkbox 时如下

ps:如果 style 不起作用

修改为如下

1、首先res/drawable中定义编写如下样式:

<?xml version="1.0" encoding="utf-8"?>

<item android:drawable="@drawable/check_true" android:state_checked="true"></item>

<item android:drawable="@drawable/check_true" android:state_selected="true"></item>

<item android:drawable="@drawable/check_true" android:state_pressed="true"></item>

<item android:drawable="@drawable/check_false"></item>

</selector>

2、在layout中添加checkbox控件

<CheckBox

android:id="@+id/radioButton1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/btn_check"

android:button="@null"

android:checked="true"/>

其中drwable/btn_check为1中顶一个文件名称,另外必须将android:button设置为@null。

@drawable/check_true和@drawable/check_false为checkbox不同状态的图片,可自行设计。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11034080.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存