百度做网站好吗/太原seo外包服务

百度做网站好吗,太原seo外包服务,淘宝官网首页图片,安吉网站建设目录 1. 引言 2. OutlinedButton 的基本用法 3. 主要属性 3.1 核心属性详解 3.2 ButtonStyle 子属性详解 (styleFrom/copyWith) 状态响应优先级说明 4. 自定义按钮样式 4.1 修改边框颜色和文本颜色 4.2 修改按钮形状 4.3 修改按钮大小 4.4 集中演示 5. 结论 相关推…

目录

1. 引言

2. OutlinedButton 的基本用法

3. 主要属性

3.1 核心属性详解

3.2 ButtonStyle 子属性详解 (styleFrom/copyWith)

状态响应优先级说明

4. 自定义按钮样式

4.1 修改边框颜色和文本颜色

4.2 修改按钮形状

4.3 修改按钮大小

4.4 集中演示

5. 结论

相关推荐


1. 引言

        在 Flutter 中,OutlinedButton 是一种带有边框但无背景色的按钮,适用于强调次要操作。它相比 ElevatedButton 少了背景色,相比 TextButton 多了一个边框,适用于不希望 UI 过于突出的场景,如“取消”按钮或次要操作按钮。

2. OutlinedButton 的基本用法

    OutlinedButton 需要 onPressed 事件和 child 组件。

OutlinedButton(onPressed: () {print('OutlinedButton 被点击');},child: Text('取消'),
)

        如果 onPressed 设为 null,按钮会变为不可点击状态。

OutlinedButton(onPressed: null,child: Text('不可点击'),
)

3. 主要属性

3.1 核心属性详解

属性/参数类型默认值说明示例值/用法
onPressedVoidCallback?null点击回调函数,设为 null 时按钮禁用onPressed: () => print('Clicked')
childWidget-按钮内容组件child: Text('Submit')
child: Icon(Icons.save)
styleButtonStyle?OutlinedButton.styleFrom按钮样式配置入口见下方 ButtonStyle 子属性详解
autofocusboolfalse是否自动获取焦点autofocus: true
statesControllerMaterialStatesController?null按钮状态控制器(高级用法)配合 MaterialStatesController 管理按钮状态

3.2 ButtonStyle 子属性详解 (styleFrom/copyWith)

属性类型默认值作用说明常用示例
foregroundColorMaterialStateProperty<Color?>跟随主题 (labelLarge)控制文字/图标颜色foregroundColor: Colors.blue
foregroundColor: Colors.red.shade800
backgroundColorMaterialStateProperty<Color?>Colors.transparent背景颜色(建议半透明)backgroundColor: Colors.white.withOpacity(0.9)
sideMaterialStateProperty<BorderSide?>BorderSide(color: dividerColor)边框样式(颜色/宽度)side: BorderSide(color: Colors.grey, width: 1.5)
shapeMaterialStateProperty<OutlinedBorder?>RoundedRectangleBorder按钮形状(圆角/特殊形状)shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10))
shape: CircleBorder()
paddingMaterialStateProperty<EdgeInsetsGeometry?>EdgeInsets.symmetric(horizontal: 16)内边距控制padding: EdgeInsets.all(12)
padding: EdgeInsets.only(left: 20)
minimumSizeMaterialStateProperty<Size?>Size(64, 36)最小尺寸(保证点击区域)minimumSize: Size(100, 40)
overlayColorMaterialStateProperty<Color?>主题自动计算点击/悬停时的覆盖颜色(水波纹效果颜色)overlayColor: MaterialStateProperty.all(Colors.blue.withOpacity(0.1))

状态响应优先级说明

  1. 禁用状态 (onPressed: null) 会覆盖所有其他样式

  2. 状态顺序权重:pressed > hovered > focused > disabled

  3. 使用 MaterialStateProperty.resolveWith 实现条件样式:

4. 自定义按钮样式

4.1 修改边框颜色和文本颜色

OutlinedButton(style: OutlinedButton.styleFrom(primary: Colors.blue, // 文字颜色side: BorderSide(color: Colors.blue, width: 2), // 边框颜色),onPressed: () {},child: Text('自定义边框颜色'),
)

4.2 修改按钮形状

OutlinedButton(style: OutlinedButton.styleFrom(shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20),),),onPressed: () {},child: Text('圆角按钮'),
)

4.3 修改按钮大小

OutlinedButton(style: OutlinedButton.styleFrom(minimumSize: Size(200, 50),),onPressed: () {},child: Text('大按钮'),
)

4.4 集中演示

            OutlinedButton(onPressed:null,// onPressed: _isDisabled ? null : _handleClick, // 禁用状态style: OutlinedButton.styleFrom(foregroundColor: Colors.blue, // 文本/图标颜色backgroundColor: Colors.white, // 背景色side: BorderSide(color: Colors.grey), // 边框样式shape: RoundedRectangleBorder( // 形状控制borderRadius: BorderRadius.circular(8),),padding: EdgeInsets.symmetric(vertical: 12, horizontal: 24), // 内边距),child: Row(mainAxisSize: MainAxisSize.min,children: [Icon(Icons.download),SizedBox(width: 8),Text('Download'),],),)

5. 结论

    OutlinedButton 适用于需要按钮但不希望其过于突出的场景。通过 style 属性可以自定义颜色、边框、形状等。同时也要遵循一些重要设计原则:

  1. 视觉一致性:边框颜色应与文本颜色协调

  2. 对比度保障:禁用状态需要保持至少 3:1 的对比度

  3. 平台适配

    • Material Design:推荐使用 1px 边框

    • iOS 风格:推荐使用 0.8px 边框 + 圆角半径 10.0

相关推荐

Flutter 按钮组件 ElevatedButton 详解-CSDN博客文章浏览阅读841次,点赞20次,收藏20次。本文详细描述 ElevatedButton 是 Flutter 中常见的按钮组件,适用于强调操作。通过 style 属性可以灵活地修改背景色、形状、大小等。掌握 ElevatedButton 的使用可以帮助开发者创建更美观的交互界面。 https://shuaici.blog.csdn.net/article/details/146067694Flutter 按钮组件 TextButton 详解-CSDN博客文章浏览阅读1.8k次,点赞60次,收藏62次。TextButton 适用于不需要强调的按钮操作,如取消、返回或辅助功能。通过 style 属性可以自定义颜色、形状、背景等。掌握 TextButton 的使用,可以帮助开发者创建更加灵活和简洁的 UI 交互体验。 https://shuaici.blog.csdn.net/article/details/146068020

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

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

相关文章

【Node.js入门笔记4---fs 目录操作】

Node.js入门笔记4 Node.js---fs 目录操作一、目录操作1.fs.mkdir()&#xff1a;创建目录。异步&#xff0c;非阻塞。创建单个目录创建多个目录创建目前之前需要确认是否存在&#xff1a; 2. fs.mkdirSync()&#xff1a;用于创建一个新的目录。异步&#xff0c;非阻塞。3.fs.rmd…

IP风险度自检,互联网的安全“指南针”

IP地址就像我们的网络“身份证”&#xff0c;而IP风险度则是衡量这个“身份证”安全性的重要指标。它关乎着我们的隐私保护、账号安全以及网络体验&#xff0c;今天就让我们一起深入了解一下IP风险度。 什么是IP风险度 IP风险度是指一个IP地址可能暴露用户真实身份或被网络平台…

【软考-架构】5.3、IPv6-网络规划-网络存储-补充考点

✨资料&文章更新✨ GitHub地址&#xff1a;https://github.com/tyronczt/system_architect 文章目录 IPv6网络规划与设计建筑物综合布线系统PDS&#x1f4af;考试真题第一题第二题 磁盘冗余阵列网络存储技术其他考点&#x1f4af;考试真题第一题第二题 IPv6 网络规划与设计…

SVN学习笔记

svn:版本控制软件 解决&#xff1a;1.协作开发 2.远程开发 3.版本回退 服务端软件&#xff1a; VisualSVN http://www.visualsvn.com 客户端软件:Tortoisesvn http://tortoisesvn.net/downloads 1.checkout(检出) 第一查更新数据到本地&#xff0c; 2.update&#xf…

基于asp.net实现的连锁餐厅收银系统[包运行成功+永久免费答疑辅导]

基于ASP.NET实现的连锁餐厅收银系统背景&#xff0c;可以从以下几个方面进行阐述&#xff1a; 一、技术背景 ASP.NET框架的普及与优势&#xff1a; ASP.NET是微软开发的一种用于构建Web应用程序的框架&#xff0c;它基于.NET Framework&#xff0c;提供了丰富的类库和开发工具…

PyTorch 深度学习实战(11):强化学习与深度 Q 网络(DQN)

在之前的文章中&#xff0c;我们介绍了神经网络、卷积神经网络&#xff08;CNN&#xff09;、循环神经网络&#xff08;RNN&#xff09;、Transformer 等多种深度学习模型&#xff0c;并应用于图像分类、文本分类、时间序列预测等任务。本文将介绍强化学习的基本概念&#xff0…

92.HarmonyOS NEXT开发学习路径与最佳实践总结:构建高质量应用

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; HarmonyOS NEXT开发学习路径与最佳实践总结&#xff1a;构建高质量应用 文章目录 HarmonyOS NEXT开发学习路径与最佳实践总结&#xff1a;构建高质…

HarmonyOS-应用程序框架基础

应用程序框架与应用模型的区别 应用框架可以看做是应用模型的一种实现方式&#xff0c;开发人员可以用应用模型来描述应用程序的结构和行为的描述&#xff0c;然后使用应用程序框架来实现这些描述。 应用模型 应用模型是一个应用程序的模型&#xff0c;它是一种抽象的描述&a…

审批工作流系统xFlow

WorkFlow-审批流程系统 该项目为完全开源免费项目 可用于学习或搭建初始化审批流程系统 希望有用的小伙伴记得点个免费的star gitee仓库地址 仿钉钉飞书工作审批流系统 介绍 前端技术栈: vue3 ts vite arcodesign eslint 后端技术栈:springbootspring mvc mybatis mavenmysq…

本地算力部署大模型详细流程(二)

1、前景回顾 上一篇我们通过ollama本地部署了一个DeepSeek&#xff0c;因为没有前端操作页面&#xff0c;我们只能使用cmd的方式和deepseek对话体验感并不是很好&#xff0c;下面我们通过Docker部署一个前端页面&#xff08;Open WebUI&#xff09; Open WebUI地址&#xff1a;…

django+vue3实现前后端大文件分片下载

效果&#xff1a; 大文件分片下载支持的功能&#xff1a; 展示目标文件信息提高下载速度&#xff1a;通过并发请求多个块&#xff0c;可以更有效地利用网络带宽断点续传&#xff1a;支持暂停后从已下载部分继续&#xff0c;无需重新开始错误恢复&#xff1a;单个块下载失败只…

ICMP、UDP以及IP、ARP报文包的仲裁处理

在之前的章节中&#xff0c;笔者就UDP、ICMP、IP、ARP、MAC层以及巨型帧等做了详细介绍以及代码实现及仿真&#xff0c;从本章节开始&#xff0c;笔者将就各个模块组合在一起&#xff0c;实现UDP协议栈的整体收发&#xff0c;在实现模块的整体组合之前&#xff0c;还需要考虑一…

【NLP 38、实践 ⑩ NER 命名实体识别任务 Bert 实现】

去做具体的事&#xff0c;然后稳稳托举自己 —— 25.3.17 数据文件&#xff1a; 通过网盘分享的文件&#xff1a;Ner命名实体识别任务 链接: https://pan.baidu.com/s/1fUiin2um4PCS5i91V9dJFA?pwdyc6u 提取码: yc6u --来自百度网盘超级会员v3的分享 一、配置文件 config.py …

Linux 蓝牙音频软件栈实现分析

Linux 蓝牙音频软件栈实现分析 蓝牙协议栈简介蓝牙控制器探测BlueZ 插件系统及音频插件蓝牙协议栈简介 蓝牙协议栈是实现蓝牙通信功能的软件架构,它由多个层次组成,每一层负责特定的功能。蓝牙协议栈的设计遵循蓝牙标准 (由蓝牙技术联盟,Bluetooth SIG 定义),支持多种蓝牙…

JetBrains(全家桶: IDEA、WebStorm、GoLand、PyCharm) 2024.3+ 2025 版免费体验方案

JetBrains&#xff08;全家桶: IDEA、WebStorm、GoLand、PyCharm&#xff09; 2024.3 2025 版免费体验方案 前言 JetBrains IDE 是许多开发者的主力工具&#xff0c;但从 2024.02 版本起&#xff0c;JetBrains 调整了试用政策&#xff0c;新用户不再享有默认的 30 天免费试用…

Prosys OPC UA Gateway:实现 OPC Classic 与 OPC UA 无缝连接

在工业自动化的数字化转型中&#xff0c;设备与系统之间的高效通信至关重要。然而&#xff0c;许多企业仍依赖于基于 COM/DCOM 技术的 OPC 产品&#xff0c;这给与现代化的 OPC UA 架构的集成带来了挑战。 Prosys OPC UA Gateway 正是为解决这一问题而生&#xff0c;它作为一款…

基于银河麒麟系统ARM架构安装达梦数据库并配置主从模式

达梦数据库简要概述 达梦数据库&#xff08;DM Database&#xff09;是一款由武汉达梦公司开发的关系型数据库管理系统&#xff0c;支持多种高可用性和数据同步方案。在主从模式&#xff08;也称为 Master-Slave 或 Primary-Secondary 模式&#xff09;中&#xff0c;主要通过…

系统思考全球化落地

感谢加密货币公司Bybit的再次邀请&#xff0c;为全球团队分享系统思考课程&#xff01;虽然大家来自不同国家&#xff0c;线上学习的形式依然让大家充满热情与互动&#xff0c;思维的碰撞不断激发新的灵感。 尽管时间存在挑战&#xff0c;但我看到大家的讨论异常积极&#xff…

Figma的汉化

Figma的汉化插件有客户端版本与Chrome版本&#xff0c;大家可根据自己的需要进行选择。 下载插件 进入Figma软件汉化-Figma中文版下载-Figma中文社区使用客户端&#xff1a;直接下载客户端使用网页版&#xff1a;安装chrome浏览器汉化插件国外推荐前往chrome商店安装国内推荐下…

IDEA 一键完成:打包 + 推送 + 部署docker镜像

1、本方案要解决场景&#xff1f; 想直接通过本地 IDEA 将最新的代码部署到远程服务器上。 2、本方案适用于什么样的项目&#xff1f; 项目是一个 Spring Boot 的 Java 项目。项目用 maven 进行管理。项目的运行基于 docker 容器&#xff08;即项目将被打成 docker image&am…