当前位置: 首页 > wzjs >正文

快速做网站公司报价网站构建的基本流程

快速做网站公司报价,网站构建的基本流程,b站怎么付费推广自己的视频,荣县规划和建设局网站目录 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.dtcms.com/wzjs/276634.html

相关文章:

  • 辽宁省建设厅特种工查询网站免费行情软件网站下载
  • 做网站为什么要用php框架线上推广方式
  • 网站不备案能解析吗高德北斗导航
  • wordpress显示全英文关键词排名优化公司地址
  • 免费网站建设软件怎么才能让百度收录网站
  • 北京做vr网站长沙优化网站推广
  • 中职学校网站建设情况总结利于seo的建站系统有哪些
  • 长沙做网站seo公司上海百度首页优化
  • 日本人做鸭网站zac seo博客
  • wordpress虚拟插件百度seo优化是做什么的
  • 如何做网站跳转全球搜效果怎么样
  • 做篮球网站用的背景图片浙江企业seo推广
  • 做衣服哪个网站好深圳全网推互联科技有限公司
  • 成都网站建设桔子手机百度高级搜索入口在哪里
  • 网站安装教程网上电商怎么做
  • 合肥定制网站建设百度推广入口官网
  • 车都建设投资集团网站小广告
  • 大连开发区做网站的公司湖州seo排名
  • 做网站做app什么专业惠州抖音seo
  • 银川网站优化seo收索引擎优化
  • 天津网络优化招聘保定seo博客
  • 深圳怎么注册公司网站百度网盘app下载安装官方免费版
  • 太原市建设交易中心网站首页网上软文发稿平台
  • 做VIP视频网站赚钱百度词条优化
  • 公安用什么系统做网站厦门seo关键词排名
  • 域名买好了怎么建网站百度搜索风云榜下载
  • 为企业开发网站黄冈网站seo
  • 免费自助建站系统商丘网站优化公司
  • 太原王建设自己怎么优化关键词
  • 网站建设公司的成本有哪些内容北京官方seo搜索引擎优化推荐