radiobutton控件 讲解python常用框架

我给大家带来的是Andoird基本UI控件中的单选按钮和复选框;先说这一节的内容:单选按钮和复选框。1。基本用法2。事件处理;3。自定义点击效果;4。更改文本和选择框的相对位置;5。修改文本和选择框之间的距离其实这两个控件很多地方都差不多,除了单选多选,事件处理,其他都...

我给大家带来的是Andoird基本UI控件中的单选按钮和复选框;先说这一节的内容:单选按钮和复选框。

1。基本用法

2。事件处理;

3。自定义点击效果;

4。更改文本和选择框的相对位置;

5。修改文本和选择框之间的距离

其实这两个控件很多地方都差不多,除了单选多选,事件处理,其他都差不多!ListView上还有一个复选框错位的问题。我们将在ListView的章节中解决这个问题。好了,开始本节~本节的官方文档API:radio button;复选框;

1.基本用法和事件处理:

1)单选按钮

比如只能选择一个RadioButton,那么我们就需要把单选按钮放在RadioGroup按钮组中来实现单选功能!熟悉如何使用radiobuttons,一个简单的性别选择的例子:另外,我们可以为外部的RadioGroup设置orientation属性,然后设置radio button的排列方式,无论是垂直还是水平~

效果图:

PS:作者***是安卓5.0.1。和老版本的RadioButton相比,这里的RadioButton好看一点~

布局代码如下:

& ltlinear layout xmlns:Android = ”http://sche***s.android.com/apk/res/android”

xmlns:tools = ”http://sche***s.android.com/tools”

Android:id = ”@+id/linear layout 1 ″

Android:layout _ width = ”***tch _ parent & # 8221

Android:layout _ height = ”***tch _ parent & # 8221

Android:orientation = ”垂直”

工具:上下文= ”。主要活动”& gt

& lt带边框的

Android:layout _ width = ”wrap _ content & # 8221

Android:layout _ height = ”wrap _ content & # 8221

Android:text = ”请选择性别”

Android:textSize = ”23dp & # 8221

/>

& lt选项按钮组

Android:id = ”@+id/radio group ”

Android:layout _ width = ”wrap _ content & # 8221

Android:layout _ height = ”wrap _ content & # 8221

Android:orientation = ”水平”& gt

& lt单选按钮

Android:id = ”@+id/BTN ***n ”

Android:layout _ width = ”wrap _ content & # 8221

Android:layout _ height = ”wrap _ content & # 8221

Android:text = ”男”

Android:checked = ”真”/>

& lt单选按钮

Android:id = ”@+id/BTN wo***n ”

Android:layout _ width = ”wrap _ content & # 8221

Android:layout _ height = ”wrap _ content & # 8221

Android:text = ”女”/>

& lt/radio group >

& lt纽扣

Android:id = ”@+id/BTN post ”

Android:layout _ width = ”wrap _ content & # 8221

Android:layout _ height = ”wrap _ content & # 8221

Android:text = ”提交”/>

& lt/linear layout >

获取选定的值:

有两种方法,

第一个

是为RadioButton设置一个事件侦听器setOnCheckChangeListener。

示例代码如下:

radio group rad group =(radio group)findViewById(r . id . radio group);

//获取单选按钮值的第一个方法

//为radioGroup: setOnCheckedChanged()设置侦听器

rad group . setoncheckedchangelister(new oncheckedchangelister(){

@覆盖

public void onCheckedChanged(radio group group,int checkedId) {

radio button rad BTN =(radio button)findViewById(checked id);

toast . ***ke text(getApplicationContext(),“按钮组值已经改变,您选择了”+ radbtn.getText(),吐司。长度_长)。show();

}

});

操作效果图:

PS:另外有一点要切记,要为每个RadioButton添加一个id,不然单选功能会生效!!!PS:还有一点要记住,就是要给每个RadioButton加一个id,否则单选功能就要生效了!!!

第二个

方法是通过单击其他按钮来获取所选单选按钮的值。当然,我们也可以直接得到。这个看要求了~

示例代码如下:

Button BTN change =(Button)findViewById(r . id . BTN post);

radio group rad group =(radio group)findViewById(r . id . radio group);

//为radioGroup: setOnCheckedChanged()设置侦听器

BTN change . setonclicklistener(new OnClickListener(){

@覆盖

公共void onClick(视图v) {

for(int I = 0;我& ltrad group . get child count();i++) {

radio button rd =(radio button)rad group . get child at(I);

if (rd.isChecked()) {

toast . ***ke text(getApplicationContext(),“单击提交按钮获得您的选择:”+ rd.getText(),吐司。长度_长)。show();

打破;

}

}

}

});

操作效果图:

代码分析:

这里,我们为submit按钮设置了一个setOnClickListener事件**器,每次点击时遍历一次RadioGroup,确定哪个按钮被选中。我们可以通过以下方法获取RadioButton的相关信息!

getChildCount

( )获得按钮组中的单选按钮的数目;

getChinldAt

(i):根据索引值获取我们的单选按钮

isChecked

( ):判断按钮是否选中

2)复选框

例如,如果您选中一个框,您可以同时选择多个选项。至于获取选定的值,也有两种方式:1。向每个复选框添加一个事件:
setoncheckedchangelister 2。获取一个按钮,点击后判断每个复选框:is checked();

操作效果图:

实现代码:

公共类MainActivity扩展AppCompatActivity实现视图。OnClickListener,CompoundButton。OnCheckedChangeListener{

私有复选框cb _ one

私有复选框cb _ two

私有复选框cb _ three

私人按钮btn _ send

@覆盖

受保护的void onCreate(Bundle saved instancestate){

super . oncreate(savedInstanceState);

setContentView(r . layout . activity _ ***in);

CB _ one =(CheckBox)findViewById(r . id . CB _ one);

CB _ two =(CheckBox)findViewById(r . id . CB _ two);

CB _ three =(CheckBox)findViewById(r . id . CB _ three);

BTN _ send =(Button)findViewById(r . id . BTN _ send);

CB _ one . setoncheckedchangelister(this);

CB _ two . setoncheckedchangelister(this);

CB _ three . setoncheckedchangelister(this);

BTN _ send . setonclicklistener(this);

}

@覆盖

public void onCheckedChanged(compound button compound button,boolean b) {

if(compound button . is checked())toast . ***ke text(this,compoundButton.getText()。toString(),吐司。LENGTH_SHORT)。show();

}

@覆盖

公共void onClick(视图视图){

String choose = & # 8220”;

if(CB _ one . is checked())choose+= CB _ one . gettext()。toString()+“”;

if(CB _ two . is checked())choose+= CB _ two . gettext()。toString()+“”;

if(CB _ three . is checked())choose+= CB _ three . gettext()。toString()+“”;

Toast.***keText(这个,选择,吐司。LENGTH_SHORT)。show();

}

}

2.自定义点击效果

5.0以后的单选按钮和复选框虽然比老版本略好,但可能还是我们不喜欢或者需要的,需要我们自己点击效果!很容易实现。先写一个自定义的selctor资源,设置选中与否的切换画面~!

实施效果图如下:

PS:这里的素材原因有点小…

& lt?xml版本= ”1.0″编码= ”utf-8 ″?& gt

& lt选择器xmlns:Android = ”http://sche***s.android.com/apk/res/android” >

& lt项目

Android:state _ enabled = ”真”

Android:state _ checked = ”真”

Android:drawable = ”@ MIP ***p/IC _ checkbox _ checked ”/>

& lt项目

Android:state _ enabled = ”真”

Android:state _ checked = ”假”

Android:drawable = ”@ MIP ***p/IC _ checkbox _ nor***l ”/>

& lt/selector >

写完之后,我们有两种设置方式,或者一种!你看看就知道了~

①android:button属性设置为上面的selctor。

Android:button = ”@ draw able/rad _ BTN _ selector ”

②在style中定义一个属性,然后设置android style属性,将下面的代码添加到style中:

& ltstyle name = & # 8221MyCheckBox & # 8221parent = & # 8221@android:style/Widget。CompoundButton . CheckBox & # 8221& gt

& lt项目名称= ”安卓:按钮”& gt@ draw able/rad _ BTN _ selector </item >

& lt/style >

然后躺在那里:

style = & # 8221@ style/my checkbox ”

3.更改文本和选择框的相对位置。

这也很容易实现。还记得我们之前学习TextView时用的drawableXxx吗?要控制选择框的位置,只需两个!设置:

第一步。

Android:button = ”@ null & # 8221

第二步。

Android:drawable top = ”@ Android:draw able/BTN _ radio ”

当然,我们可以把drawableXxx换成自己喜欢的效果!

4.修改文本和选择框之间的距离。

有时,我们可能需要调整文本和选择框之间的距离,使它们看起来不那么拥挤。我们可以:

1.XML代码中的控件:使用Android:padding XXX = “xxx & # 8221来控制距离

2.用Java代码,好一点,动态计算paddingLeft!

示例代码如下:

Rb . setbuttondrawable(r . drawable . rad _ BTN _ selector);

int rb_paddingLeft = getResources()。getDrawable(r . MIP ***p . IC _ checkbox _ checked)。getIntrinsicWidth()+5;

rb.setPadding(rb_paddingLeft,0,0,0);

本节概述:

好了,单选按钮和复选框就这样了。如果有什么不对的,不好的,好的,请不吝指出,不胜感激。

本文来自吃鸡只用平底锅投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/645810.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 07-23
下一篇 07-23

相关推荐

  • 飞鸽传信怎么做到的 讲解飞鸽传书的特点

    武侠剧里经常有飞鸽传书的桥段。你有过这样的疑问吗?为什么鸽子可以自己送信和返回?鸽子在偷偷装导航吗?在以前,鸽子是人类的信使。他们总能到达正确的地方,然后自己回来。除了武侠剧里的飞鸽,二战期间,一些盟军也用鸽子送信。一只名叫温格的鸽子也因成功送信并营救多名

    2023-08-17 15:53:22
    838 0
  • 什么比猎豹的速度更快课文讲解

    【什么比猎豹的速度更快课文讲解 】 1、第二自然段中,人和鸵鸟的速度作比较,说明鸵鸟的速度快。2、第三自然段中,猎豹和鸵鸟的速度作比较,表明猎豹速度快。3、第四自然段中,游隼的速度和骑车的速度作比较,表明游隼的速度快。4、第五自然段中,把喷气式飞机和游隼的速度作

    2023-07-29 09:10:01
    757 0
  • ppt常用图标制作 讲解ppt中的动画效果制作方法

    很多需要做PPT的朋友都觉得找一个好看又合适的PPT矢量图标素材太难了。很多时候,找素材要花大部分时间,四舍五入PPT相当于加班!别急,今天边肖就分享几个超级好用,有很多矢量图标素材的网站,帮你轻松解决这类问题!一千个画廊这是一个非常强大的素材资源网站。在网站中,

    2023-07-28 07:48:01
    922 0
  • 手机兼职平台正规APP有哪些 商家正规放单讲解

    定位器做任务的平台人人都是做任务拿现金奖励的app。里面的任务类型是边肖目前看到最多的,从几毛钱到几十块都有。新用户注册奖励1元,微信可秒提现至任意金额。这是一个适合马宝,学生,和所有年龄段的闲人赚钱的应用程序。更多赚钱游戏下载app慢慢发现吧~类似的app还有很多

    2023-07-27 07:36:01
    741 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信