当前位置:首页 > 引流 > 正文内容

设置radiobutton选中(radiobutton设置单选教程)

admin3年前 (2022-10-11)引流795

在Jetpack Compose中用于制作单选按钮的可组合函数名为RadioButton。单选按钮是用户可以选择的小圆形按钮。一次只能选择一个选项。下面向您介绍如何使用RadioButton,如何实现多个RadioButton中一次只能选择一个选项的效果。

RadioButton(selected = false, onClick = { /*TODO*/ })

我们用非常简洁的代码就创建了一个RadioButton,如下图:  

RadioButton

此时的RadioButton没有任何的效果,也不能点击。

接下来,我们要为RadioButton添加一个点击状态并设置RadioButton的不同状态的样式。

val isSelected = remember {mutableStateOf(false)}
RadioButton(
    colors = RadioButtonDefaults.colors(
        selectedColor = selectedColor1,
        unselectedColor = unselectedColor1,
        disabledColor = disabledColor1
    ),
    enabled = true,
    selected = isSelected.value,
    onClick = { isSelected.value = !isSelected.value})

在上面的代码中,我们新建了一个isSelected变量来保存RadioButton的点击状态,使用colors设置RadioButton的样式,这里使用RadioButtonDefaults实例,并使用所需的背景色作为参数对其调用colors方法。

selectedColor:选中并启用时用于单选按钮的颜色

unselectedColor:未选择并启用时用于单选按钮的颜色。

disabledColor:禁用时用于单选按钮的颜色。

使用selected在“选定”和“未选定”之间切换按钮的当前状态。使用enabled控制单选按钮的启用状态。onClick单击RadioButton时要调用的回调,在回调中更改状态的值。如下图:

   

在Jetpack Compose中,RadioButton没有设置文字的属性,要想使其显示文字,就要使用组合项来实现。

val isSelected = remember {mutableStateOf(false)}
Row(
    modifier = Modifier.clickable {
        isSelected.value = !isSelected.value
    }) {
    RadioButton(
        colors = RadioButtonDefaults.colors(
            selectedColor = selectedColor1,
            unselectedColor = unselectedColor1,
            disabledColor = disabledColor1
        ),
        enabled = true,
        selected = isSelected.value,
        onClick = { isSelected.value = !isSelected.value })
    Spacer(modifier = Modifier.width(2.dp))
    Text(text = text)
}

在上面的代码中,我们在Row(线性水平)布局中添加了RadioButtonText两个组合项,实现RadioButton显示文字的效果,使用Spacer添加间隔,在RowModifier.clickable中,当点击整个布局也可以更改RadioButton的状态,如下图:  

显示文字效果

我们知道在Android开发中向RadioGroup中添加多个RadioButton,可以实现多个选项中只有一个RadioButton选中的效果,但在Jetpack Compose中没有这样的实现,我们需要自己自定义一个组合。

@Composable
fun MyRadioButtonList(context: Context){
    val fruits = listOf("苹果", "枇杷", "樱桃", "草莓")
    val selectedButton = remember { mutableStateOf(fruits.first()) }

    Row() {
        fruits.forEach {
            val isSelected = it == selectedButton.value
            Row(
                verticalAlignment = Alignment.CenterVertically,
                modifier = Modifier.clickable(onClick = {
                    selectedButton.value = it
                    Toast.makeText(context, "您点击了${it}", Toast.LENGTH_SHORT).show()
                })
            ) {
                RadioButton(
                    colors = RadioButtonDefaults.colors(
                        selectedColor = selectedColor1,
                        unselectedColor = unselectedColor1,
                        disabledColor = disabledColor1
                    ),
                    selected = isSelected,
                    onClick = {
                        selectedButton.value = it
                        Toast.makeText(context, "您点击了${it}", Toast.LENGTH_SHORT).show()
                    })
                Spacer(modifier = Modifier.width(2.dp))
                Text(text = it)
            }
        }
    }
}

在上面的代码中,首先,我们新建了一个fruits集合,我们用集合中的选项表示每个单选按钮的索引。接下来,创建一个selectedButton状态,以记住当前选择的按钮。默认情况下,选择第一个按钮。使用for循环,在循环的每次迭代中向列添加一个RadioButton。每次循环的使用我们判断selectedButton的值是否是当前的RadioButton,然后将isSelected的赋给RadioButton,每次用户点击按钮时,您都会更改在状态中选择的按钮。这将触发重新编译,您的UI将更新!如下图:

   

默认情况下会选择第一个RadioButton。选择另一个RadioButton时,可以看到在RadioButton之间切换状态。这样就实现了我们的单选效果。

扫描二维码推送至手机访问。

版权声明:本文中部分文字、图片、音频、视频来源于互联网及公开渠道,仅供学习参考,版权归原创者所有! 如侵犯到您的权益,请及时通知我们!我们将在第一时间内删除。

本文链接:http://www.73ya.com/yinliu/2169.html

分享给朋友:

“设置radiobutton选中(radiobutton设置单选教程)” 的相关文章

抖音短视频制作 抖音短视频制作教程

相信现在越来越多的人对抖音短视频有所兴趣,而其实抖音制作短视频是有一定的创作技巧的。今天我们就一起来看看关于抖音短视频制作,抖音短视频制作教程的相关内容。 抖音短视频制作  01 保持原创 为什么都说要保持原创呢,因为平台对于原创的奖励很高、推荐量也会比较大。那么什么才算是原创作品呢...

抖音怎能屏蔽别人 抖音屏蔽别人步骤解析

抖音这个软件已经成为目前很多小伙伴,茶余饭后娱乐的最常用的消遣软件之一了,不管是刷美食、刷资讯,还是刷综艺、电视剧,我们都可以在抖音上来实现。 抖音视频观看权限设置方法 想要设置观看权限一共有三种方法,这里小编就给大家具体介绍一下每种的步骤。 方法一:好友主页设置 打开好友主页,点击...

短视频素材网站免费大推荐,高清无版权

制作短视频的人都知道,我们要是想要完成一个好的作品不仅仅是要在文案上看是否过关,还要看素材内容质量好不好。还要看一下视频素材有无侵权行为,这样一想,是不是感觉脑海中没有了网站来源。不要怕,接下来小编就为大家介绍短视频素材网站免费大推荐。跟着小编一起来看看吧。素材都是高质量画质清晰无水印的...

抖音短视频运营是做什么的,能相信吗

目前短视频越来越火,所以从事这个行业的人都面临的一个大问题,短视频如何运营?随着这个问题深入,市面出现越来越多的短视频运营培训,抖音短视频运营是做什么的?越来越多的人想要在短视频里谋取暴利,但是短视频的门槛虽然低,但是过程努力也是很重要的,那么抖音短视频运营能相信吗?接下来就跟着小编一起...

新人怎么做快手直播,视频直播怎么预热

新人在直播前发布预热短视频是非常重要的,主播拍摄的直播预热短视频,在除了保证自身的质量外,还有很多工作需要做一些前期准备,新手第一次上场难免紧张,所以对于新人把控也要掌握好,那么感兴趣的朋友们来看新人怎么做快手直播吧。 在视频结尾设置悬念  在发布的短视频中,就在结尾给大家制造了一...

免费测个人婚因不付费(免费测自己有几次婚姻)

每个人结婚前的恋爱时间都不同,有的人喜欢相处久一些再考虑结婚,而有些人喜欢闪婚,今天小编为大家准备的几道测试题,能够测出你恋爱多久才会结婚,想要了解的朋友不妨和小编一起来看看婚姻免费测试吧! 一、婚姻免费测试 1.在地铁上遇到色男(或者色女)骚扰你,你会立刻出声反击吗? 是→3否→2...