第三百八十七回

news2024/10/24 21:20:47

文章目录

  • 1. 概念介绍
  • 2. 使用方法
  • 3. 示例代码

我们在上一章回中介绍了DateRangePickerDialog Widget相关的内容,本章回中将介绍Radio Widget.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在这里说的Radio Widget是指单选按钮,没有选中时是圆形边框,边框和内容都是白色,选中时边框变成蓝色,中间用蓝色填充。当然了这个蓝色是默认的颜色,
可以通过主题颜色或者控制中的颜色属性进行修改。Flutter把单选按钮封装成了独立的组件,使用Radio类来表示该组件,本章回中将详细介绍它的使用的方法。

2. 使用方法

和其它Widget一样,Radio组件也提供了相关的属性来操作自己,下面是一些常用的属性,掌握这些属性的用法后就可以熟练地使用Radio组件了:

  • value属性:表示按钮被选中时的值;
  • groupValue属性:表示按钮所有组的值;
  • onChanged属性:它是方法类型,按钮被按下时回调此方法;
  • activeColor属性:表示按钮被选中时的颜色,如果不修改默认为蓝色;
    上面的这几个属性中只有最后一个是可选属性,其它的属性都是必选属性。前两个属性看着容易理解,不过使用时容易犯错。当这两个属性的值相等时才能表示按钮被选中,
    否则按钮处于未选中状态。这两个属性的类型是泛型,因此它们的使用范围中比较广,给属性赋值时可以使用int等数字类型,也可以使用string类型,甚至时对象类型。
    常用的做法是在onChanged方法中修改groupValue属性的值让它和value值保持相等,进而达到选中单选按钮的目的。下面是示例代码:

3. 示例代码

Radio _radio(index) {
  _checkState = index;
  return Radio(
    //这两个值相等时才会显示选中状态,这里用的是int类型
    value: _checkState,
    groupValue: _groupValue,
    onChanged: (v) {
      //v的值就是index
      print("value $v");
      setState(
        () {
          if (_checkState == _groupValue) {
            _groupValue = v + 1;
          } else {
            _groupValue = v;
          }
        },
      );
    },
  );
}

上面的代码只是核心代码,完整的代码可以查看Github中ex024文件中的内容。为了方便使用,我们把Radio组件封装到方法中,然后把该方法赋值给column组件的
children属性,多放几个这样的方法就形成了一个包含多个单选按钮的组,我们称其为单选按钮组,这也是常用的做法,同一组内的单选按钮是互斥的,也就是说一组
单选按钮中只能有一个按钮被选中。编译并且运行上面的程序,会看到一组的单选按钮,可以点击其中的任何一个按钮,被点击的按钮处于选中状态,没有被点击的按钮
处理未选中状态。我在这里就不演示程序的运行结果了,建议大家自己动手去实践。
看官们,关于Radio Widget的内容就介绍到这里,欢迎大家在评论区交流与讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1497796.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PEIS源码 健康体检中心源码 C/S

目录 一、系统概述 二、系统开发环境 三、系统功能 检前管理 检中管理 检后管理 设备对接-PACS 设备对接-彩超 LIS-结果录入、审核、外送结果自动导入 一、系统概述 体检系统,是专为体检中心/医院体检科等体检机构,专门开发的全流程管理系…

创建Net8WebApi自动创建OpenApi集成swagger

问题:用Net8创建WebAPI时勾选启动OpenAPI,项目自动集成了Swagger,但是接口注释没有展示? 解决: 1.需要生成Api项目的XML文件。操作如下: 2.生成XML文件后,还需要在启动类Program.cs里面配置Sw…

快速批量将图片变成圆角怎么弄?教你一键将图片批量加圆角

在我们日常工作中,在设计图片的时候会要求将直角变成圆角,那么为什么要这么做呢?首先从圆角的设计语言上来说说,圆角看起来很现代,传达给人的感觉是温和友善的,被广泛的应用在产品中的图标、按钮等地方。而…

代码随想录day15(2)栈与队列:滑动窗口最大值(leetcode239)

题目要求:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。 思路:首先的想法就是暴力方法,遍历一遍…

SSD LDPC软错误探测方案解读

上一篇文档中,基于SSD LDPC(Low-Density Parity-Check Codes)原理背景和纠错能力作了简单的介绍。 扩展阅读: 关于SSD LDPC纠错能力的基础探究 浅析LDPC软解码对SSD延迟的影响 本篇结合SMI发布的研究成果,通过SSD控制内部LDPC更底层的架构,来解读如何增强软错误探测能力…

ucrtbased.dll丢失的解决方法,分享5种有效的解决方法

ucrtbased.dll是一个在Windows操作系统中至关重要的系统文件,它隶属于Universal C Runtime库(UCRT),是Microsoft Visual Studio编译器为了支持C标准库功能而引入的一个动态链接库文件。这个文件内包含了大量通用且关键的运行时函数…

Navicat安装破解教程

蓝奏云下载地址https://wws.lanzoux.com/b01tqirzc或者链接https://pan.baidu.com/s/15cfQAFdQsn8xSg_2LiQZHg 提取码:q3rd链接:https://pan.baidu.com/s/1WwyCC03qcnqnWKGo-m6ZjA 提取码:pg9uNavicat16目前没有破解方法,15可以&a…

MES+APS难度地狱级,搞定它就是劫后余生呀。

一、什么是MES和APS MES(Manufacturing Execution System)和APS(Advanced Planning and Scheduling)是两种在制造业中常用的软件系统,用于优化生产过程和提高生产效率。 MES是一种用于管理和监控制造过程的系统。它与…

数学建模【模糊综合评价分析】

一、模糊综合评价分析简介 提到模糊综合评价分析,就先得知道模糊数学。1965年美国控制论学家L.A.Zadeh发表的论文“Fuzzy sets”标志着模糊数学的诞生。 模糊数学又称Fuzzy数学,是研究和处理模糊性现象的一种数学理论和方法。模糊性数学发展的主流是在…

Linux安全--Apache HTTPD多后缀名解析漏洞

环境为Kali 1.漏洞复现 在valhub官网中找到靶场环境目录 找到指定目录 使用docker拉取镜像 使用burpsuite访问本机,发现提交表单的信息只能是.jpg。不能提交.php文件 使用BurpSuite捕捉 提交.php文件发现不行 这时我们将phpinfo.php后面加一个.jpg后缀就会提交成功…

Spring事务注解@Transactional的流程和源码分析

Spring事务简介 Spring事务有两种方式: 编程式事务:编程式事务通常使用编程式事务管理API实现,比如Spring提供的PlatformTransactionManager接口,使用它操控事务。声明式事务:注解式事务使用AOP(面向切面…

奖励建模(Reward Modeling)实现人类对智能体的反馈

奖励建模(Reward Modeling)是强化学习中的一个重要概念和技术,它主要用于训练智能体(如AI机器人或大型语言模型)如何更有效地学习和遵循人类期望的行为。在强化学习环境中,智能体通过尝试不同的行为获得环境…

ai直播数字人!AI大模型应用开发高级技术

AI直播数字人是一种新兴的技术应用,通过AI大模型的应用开发,实现了数字人的虚拟化呈现。数字人作为一种虚拟人物形象,在直播平台或其他媒介中可以展现出真实人物的表情、动作和声音,并且能够与观众进行实时互动,给人带…

c语言-大小写字母的转换

目录 方法一:库函数直接转换 1、toupper的测试代码 2、tolower的测试代码 方法二:通过修改ASCII码值转换 1、自己实现大写转小写 2、自己实现小写转大写 结语 前言: 在使用c语言写代码时,通常会遇到很多将大小写字母相互…

101 向一个不存在的路径发送请求, get 得到 404, post 得到 405

前言 这是 最近碰到的一个问题, 大概是在 2022.05.30 前端这边 发送了一个业务请求过来, 这个请求路径是服务端这边不存在的 但是 奇怪的一点就是, 如果是以 get 请求发送过来, 服务端响应的是正确的 404 "Not Found", 但是 如果是以 post 请求发送过来, 服务端这边…

buildadmim生成代码时让菜单有层级

当我们使用buildadmin生成代码的时候,在菜单的部分, 有时希望它生的是一个带有层级的菜单,有时候则想生成一个没有层级的菜单 like this 经过本人测试 如果我们要生成没有层级的菜单 我们可以在高级设置中的 相对位置处更改,同时…

某资产管理系统打点过程中的免杀经历

上周,被扔过来单位内部的一个链接,让渗透一下,本以为三下五除二很快就能测完,没想到在对抗杀软时费了一番功夫,再加上杂七杂八的事儿,经过了一个星期才测完(# ̄~&#xff…

评估需求优先级的方法

Kano模型: 1.前言 在大量的需求需要进行迭代时,由于时间、人力、财力等相关因素干扰,无法在有限的时间内容对所有的需求进行满足,此时需要我们对需求进行优先级的排列。最大化的合理的提高有限资源的使用。 在常见的产品优先级…

应用案例 | Softing echocollect e网关助力汽车零部件制造商构建企业数据库,提升生产效率和质量

为了提高生产质量和效率,某知名汽车零部件制造商采用了Softing echocollect e多协议数据采集网关——从机器和设备中获取相关数据,并直接将数据存储在中央SQL数据库系统中用于分析处理,从而实现了持续监控和生产过程的改进。 一 背景 该企业…

【SpringBoot】-- 实现本地文件/图片上传到服务器生成url地址

在java项目中你可能会有以下需求:用户上传本地图片,然后展示在网页上。本篇文章将使用阿里云oss实现上传图片到oss,oss生成url。 一、准备工作 首先进入阿里云,按如下操作 进入创建页面,修改读写权限为公共读 然后进…