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

珠海响应式网站建设湖南百度推广

珠海响应式网站建设,湖南百度推广,绍兴市网站建设公司,wordpress仓库目录 1. 引言 2. TextButton 的基本用法 3. 主要属性 4. 自定义按钮样式 4.1 修改文本颜色 4.2 添加背景色 4.3 修改按钮形状和边距 4.4 样式定制 5. 高级应用技巧 5.1 图标文本组合 5.2 主题统一配置 5.3 动态交互 6. 性能优化与注意事项 6.1 点击区域优化 6.…

目录

1. 引言

2. TextButton 的基本用法

3. 主要属性

4. 自定义按钮样式

4.1 修改文本颜色

4.2 添加背景色

4.3 修改按钮形状和边距

4.4 样式定制

5. 高级应用技巧

5.1 图标+文本组合

5.2  主题统一配置

5.3 动态交互

6. 性能优化与注意事项

6.1 点击区域优化

6.2 避免过度重建

6.3 无障碍支持

 6.4 点击无响应

相关推荐


1. 引言

        在 Flutter 中,TextButton 是一种无背景的按钮,适用于次要或轻量级操作。它的外观更加简洁,仅包含文字,适合用作辅助性操作,如“取消”或“了解更多”。相比 ElevatedButtonTextButton 没有阴影和背景色,更加简约。

2. TextButton 的基本用法

    TextButton 需要 onPressed 事件和 child 组件。

TextButton(onPressed: () {print('TextButton 被点击');},child: Text('点击我'),
)

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

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

3. 主要属性

属性说明
onPressed按钮点击时的回调函数
onLongPress长按时触发的回调
child按钮的内容,如 TextIcon
style自定义按钮样式

示例:

TextButton(onPressed: () {},onLongPress: () => print('长按按钮'),child: Text('长按试试'),
)

4. 自定义按钮样式

4.1 修改文本颜色

TextButton(style: TextButton.styleFrom(primary: Colors.blue, // 文字颜色),onPressed: () {},child: Text('自定义颜色'),
)

4.2 添加背景色

TextButton(style: TextButton.styleFrom(backgroundColor: Colors.blue,primary: Colors.white,),onPressed: () {},child: Text('带背景色的 TextButton'),
)

4.3 修改按钮形状和边距

TextButton(style: TextButton.styleFrom(shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20),),padding: EdgeInsets.symmetric(horizontal: 20, vertical: 10),),onPressed: () {},child: Text('圆角按钮'),
)

4.4 样式定制

TextButton(style: ButtonStyle(// 文字颜色(包括禁用状态)foregroundColor: WidgetStateProperty.resolveWith<Color>((Set<WidgetState> states) {if (states.contains(WidgetState.disabled)) return Colors.grey;return Colors.blue;},),// 背景色backgroundColor: WidgetStateProperty.all(Colors.transparent),// 水波纹颜色overlayColor: WidgetStateProperty.all(Colors.blue.withOpacity(0.1)),// 内边距padding: WidgetStateProperty.all(EdgeInsets.symmetric(horizontal: 16)),// 边框形状shape: WidgetStateProperty.all(RoundedRectangleBorder(borderRadius: BorderRadius.circular(8),),),),onPressed: () {},child: Text('自定义样式'),)

5. 高级应用技巧

5.1 图标+文本组合

          TextButton.icon(icon: Icon(Icons.add_box_rounded, size: 20),label: Text('添加好友'),onPressed: () {},style: ButtonStyle(padding: WidgetStateProperty.all(EdgeInsets.symmetric(vertical: 12, horizontal: 20),),),

5.2  主题统一配置

MaterialApp(theme: ThemeData(textButtonTheme: TextButtonThemeData(style: ButtonStyle(foregroundColor: MaterialStateProperty.all(Colors.purple),textStyle: MaterialStateProperty.all(TextStyle(fontWeight: FontWeight.bold)),),),),
)

5.3 动态交互

// 点击缩放动画
TextButton(onPressed: () {},child: AnimatedContainer(duration: Duration(milliseconds: 200),transform: isPressed ? Matrix4.diagonal3Values(0.95, 0.95, 1) : null,child: Text('动态按钮'),),
)

6. 性能优化与注意事项

6.1 点击区域优化

        默认最小尺寸为 48x48(Material规范),可通过 minimumSize 调整:

style: ButtonStyle(minimumSize: MaterialStateProperty.all(Size(100, 50)),

6.2 避免过度重建

        对静态按钮使用 const 优化:

const TextButton(onPressed: _handleClick,child: Text('静态按钮'),
)

6.3 无障碍支持

const TextButton(onPressed: _handleClick,child: Text('静态按钮'),
)

 6.4 点击无响应

  • 检查 onPressed 是否为 null

  • 确认父组件未被 IgnorePointer 或 AbsorbPointer 包裹

  • 检测是否被其他组件覆盖(如透明层)

相关推荐

Flutter 基础组件 Text 详解-CSDN博客文章浏览阅读1.1k次,点赞42次,收藏25次。Text 组件是 Flutter 中最常用的 UI 组件之一,用于显示文本内容。它支持样式自定义、多行显示、溢出控制等功能,适用于各种文本场景。本文将详细介绍 Text 组件的使用方式及其重要参数。 https://shuaici.blog.csdn.net/article/details/146067083Flutter 基础组件 Scaffold 详解-CSDN博客文章浏览阅读494次,点赞21次,收藏23次。Scaffold 主要在 MaterialApp 主题下使用,它是实现Material Design基本视觉布局结构的Widget,它为应用提供了一个可定制的结构,包括 AppBar(应用栏)、Drawer(侧边栏)、FloatingActionButton(浮动按钮)、BottomNavigationBar(底部导航栏) 等。本文将详细解析 Scaffold 的功能和使用方法。 https://shuaici.blog.csdn.net/article/details/146067470


文章转载自:

http://2F844CXo.cjcry.cn
http://0aYjGhoa.cjcry.cn
http://ep5eZieJ.cjcry.cn
http://ubmHUTaV.cjcry.cn
http://4Y32flfR.cjcry.cn
http://YMeYXJhK.cjcry.cn
http://6qUdUMMI.cjcry.cn
http://9kC4oZTu.cjcry.cn
http://NhZdFFsL.cjcry.cn
http://XD1UAGSh.cjcry.cn
http://7R2Sps53.cjcry.cn
http://YcidxB3G.cjcry.cn
http://uKFrjBfp.cjcry.cn
http://yNOFsHe6.cjcry.cn
http://NJhwLEzW.cjcry.cn
http://RAqQ1hCn.cjcry.cn
http://gq5Dcy4u.cjcry.cn
http://31gluK4q.cjcry.cn
http://0pT3y0ud.cjcry.cn
http://vo3GMb6W.cjcry.cn
http://d38FVdzC.cjcry.cn
http://CGQGJSCZ.cjcry.cn
http://7igeOwoS.cjcry.cn
http://8Celk1JL.cjcry.cn
http://RP1sYwoQ.cjcry.cn
http://3Rk0sKpF.cjcry.cn
http://rH1qQVcL.cjcry.cn
http://GufEqRKH.cjcry.cn
http://CulKCwVh.cjcry.cn
http://cqhqu10Z.cjcry.cn
http://www.dtcms.com/wzjs/684427.html

相关文章:

  • 甘肃网站建设网站制作网站的title
  • 如何做网站内容构架图韩国怎么出线
  • asp.net网站支持多国语言wordpress 在线编辑器
  • 学做网站需要学哪些软件如何注册一个自己的网站
  • 视频弹幕网站建设做网站需要多少人
  • 做教师知识网站有哪些内容网站管理是做什么的
  • 网站后台编辑框无法显示盐城建设企业网站
  • 本地企业网站建设服务对网站建设的意见
  • 网站翻页代码建设工程人力资源网查询平台
  • 厦门网站优化建设青岛找网站建设公司好
  • 公司门户网站及oa系统建设的请示做企业网站有什么好处
  • 岳阳网站开发商城wordpress 搜索增强
  • 做代理需要自己的网站吗万远翔网站建设
  • 作网站青岛建网站的公司有哪些
  • jsp网站服务建设是什么合肥官网设计地址
  • 成都网站关键词排名基于wordpress开发cms
  • 免费源码资源源码站用wordpress数据展示
  • 网站建设yu揭阳网站建站网站
  • 珠海企业落户申请网站微信小程序怎么制作流程
  • 做兼职什么网站比较好crm管理系统有哪些
  • 个人网站报价做网站申请完域名后做什么
  • 做瞹瞹嗳视频网站建筑设计图纸
  • 建网站岑溪哪家强?落地页模板网站
  • 网站服务器在乔拓云网微信小程序制作
  • 哈尔滨建设银行网站昆明岭蓝科技
  • 合肥集团网站建设公司视频剪辑课程
  • 自己做网站seo优化申请阿里巴巴网站首页
  • 如何用网页制作网站网站建设及代运营合同
  • 网站建设培训厦门网页设计:编程学习网站素材
  • 湘潭网站建设 搜搜磐石网络鸿扬家装公司简介