按钮

Material 组件库中提供了多种按钮组件如ElevatedButton、TextButton、OutlineButton等,它们都是直接或间接对
RawMaterialButton组件的包装定制,所以他们大多数属性都和RawMaterialButton一样。在介绍各个按钮时我们先介绍其默认外观,
而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有 Material 库中的按钮都有如下相同点:

  • 继承于ButtonStyleButton
  • 按下时都会有“水波动画”(又称“涟漪动画”,就是点击时按钮上会出现水波扩散的动画)。
  • 有一个onPressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。

ElevatedButton

即"漂浮"按钮 它默认带有阴影和灰色背景。按下后,阴影会变大

elevated_button.dart 源码

class ElevatedButton extends ButtonStyleButton {const ElevatedButton({Key? key,required VoidCallback? onPressed,VoidCallback? onLongPress,ButtonStyle? style,FocusNode? focusNode,bool autofocus = false,Clip clipBehavior = Clip.none,required Widget? child,}) : super(key: key,onPressed: onPressed,onLongPress: onLongPress,style: style,focusNode: focusNode,autofocus: autofocus,clipBehavior: clipBehavior,child: child,);
  • 它有两个最基本的属性:

    • child:可以放入容器,图标,文字。让你构建多彩的按钮。
    • onPressed:点击事件的相应,一般会调用Navigator组件。

eg:

ElevatedButton(child: Text("查看商品详情"),onPressed: (){Navigator.push(context, MaterialPageRoute(builder: (context)=> SecondScreen()));},
),

TextButton

即文本按钮,默认背景透明并不带阴影。按下后,会有背景色

text_button.dart 源码

class TextButton extends ButtonStyleButton {const TextButton({Key? key,required VoidCallback? onPressed,VoidCallback? onLongPress,ButtonStyle? style,FocusNode? focusNode,bool autofocus = false,Clip clipBehavior = Clip.none,required Widget child,})

IconButton

是一个可点击的Icon,不包括文字,默认没有背景,点击后会出现背景。

class IconButton extends StatelessWidget {const IconButton({Key? key,this.iconSize = 24.0,this.visualDensity,this.padding = const EdgeInsets.all(8.0),this.alignment = Alignment.center,this.splashRadius,this.color,this.focusColor,this.hoverColor,this.highlightColor,this.splashColor,this.disabledColor,required this.onPressed,this.mouseCursor = SystemMouseCursors.click,this.focusNode,this.autofocus = false,this.tooltip,this.enableFeedback = true,this.constraints,required this.icon,})

3.2.5 带图标的按钮

ElevatedButton、TextButton都有一个icon 构造函数,通过它可以轻松创建带图标的按钮
eg:

ElevatedButton.icon(icon: Icon(Icons.send),label: Text("发送"),onPressed: _onPressed,
),
TextButton.icon(icon: Icon(Icons.info),label: Text("详情"),onPressed: _onPressed,
),
  • 已经弃用的组件 RaisedButton: 技术胖:https://jspang.com/article/44#toc32
  • 已经弃用的组件 OutlineButton

Flutter控件——常用控件:按钮相关推荐

  1. 玩转C#控件-常用控件属性

    文章目录 概述 Control类的基本属性 1.Name属性 2.Text属性 3.Anchor属性 4.Dock属性 Control类的方法和事件 博主写作不容易,孩子需要您鼓励 万水千山总是情 , ...

  2. 【Qt教程】2.1 - Qt5 UI设计器、常用控件

    1. UI设计器使用 新建工程,将 .ui文件勾上. 双击 .ui文件,会弹出UI设计器,其布局大概为: 其中UI界面的信号槽只能使用系统事件,不能使用自定义信号与槽.所以主要还是由用户代码来完成. ...

  3. Flutter 常用控件使用详解

    目录 配置 Flutter常用控件 Text TextField组件 Container Image GridView Row水平组件 Column垂直布局 Stack层叠布局 参考 配置 由于Flu ...

  4. openlayers添加按钮_OpenLayers3加载常用控件使用方法详解

    本文实例为大家分享了OpenLayers3加载常用控件使用的具体代码,供大家参考,具体内容如下 1. 前言 地图控件就是对地图的缩放.全屏.坐标显示控件等,方便我们对地图进行操作.OpenLayers ...

  5. 【Qt】桌面应用开发教程——布局|按钮组|容器|常用控件|消息事件机制

    文章目录 3.布局 3.1 系统提供的布局控件 3.2 利用widget做布局 3.3 利用表单做布局 4.按钮组 5.项目构建组 6.容器 7.常用控件 7.1 QLabel控件使用 7.1.1 显 ...

  6. EasyUI–常用控件之按钮/搜索框/密码框/文件框/数字框/日期时间选择框

    点此查看全部文字教程.视频教程.源代码 本篇主要介绍跟后台数据绑定相关度不大的简单控件,直接写了一个详细的例子,需要说明的东西都在注释里面. 先看示意图: <%@ page language=& ...

  7. Gtk常用控件 按钮 图片控件 进度条 滑动窗口 分栏列表

    Gtk常用控件 按钮(GtkButton) // 带图标按钮的创建 // image: 通过 gtk_image_new_from_file()来创建, 参数为图片的路径 void gtk_butto ...

  8. Flutter基础之部分控件学习

    主要看几个常用的使用控件: main.dart 代码,下面常用 Widget 示例的代码. import 'package:flutter/material.dart';void main() =&g ...

  9. 设计器的使用及常用控件

    设计器的使用及常用控件 文章目录 设计器的使用及常用控件 一.设计器 二.设计器中的常用控件 一.设计器 1.设计器的使用 2.通过代码操作ui文件 #include "mainwindow ...

最新文章

  1. android eclipse 报error loading /system/media/audio/ xxx 错的解决办法。
  2. 要鼓励周鸿祎做360搜索
  3. 同一进程中的线程究竟共享哪些资源
  4. 关于oracle的certview
  5. clob存base64文件存不进去_工行信用卡这几个提额方法,你知道吗?一般人我不告诉他!...
  6. java hdu2014青年歌手大奖赛_评委会打分
  7. 【白皮书分享】2022新职业教育洞察白皮书:“职”成机遇,“育”见未来.pdf...
  8. 进阶运维:SSH无缝切换远程加密
  9. php正则表达式小括號,php使用正則表達式提取字符串中尖括號、小括號、中括號、大括號中的字符串...
  10. 生物医学传感器实验装置
  11. 迅雷下载提示:应版权方要求/包含违规内容, 文件无法下载
  12. linux下使用libxml2库,解析xml文件
  13. Vue项目--仿大麦网移动端
  14. python set(集合) 与 and 、 | 与 or之间的区别
  15. 小程序+动易SF制作随手拍实例全景式操作(3)
  16. 【量化笔记】技术指标 Technical Indicator
  17. Python装饰器最经典教程,以最易理解的方式教会你
  18. bat文件·启动程序打开文件夹
  19. Computational Imaging 计算成像(一)
  20. iOS各种调试技巧豪华套餐

热门文章

  1. 微信小程序 图片等比例缩-放(图片自适应屏幕)
  2. PCB设计中数字地、模拟地、数字电源、模拟电源的处理方式
  3. 硬盘突然变raw格式_磁盘变成RAW格式的两种解决办法
  4. 数据挖掘-python数据分析与挖掘实战
  5. 上位机.net大佬博客大全-菜鸟学习上位机C#那些事儿
  6. Android中的四大组件
  7. H - Unloaded Die
  8. 计算机f8键的功能,f8键有什么作用(图文)
  9. C# 固高Jog运动
  10. Vue项目webpack打包部署到服务器