按钮组件的属性

ButtonStylee里面的常用的参数

ElevatedButton

ElevatedButton 即"凸起"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大
class MyApp extends StatelessWidget {
const MyApp({super.key}); @override
Widget build(BuildContext context) {
return Container(
child: ElevatedButton(
onPressed: (){},
child: Text("普通按钮"),)
);
}
}

TextButton

TextButton 即文本按钮,默认背景透明并不带阴影。按下后,会有背景色
class MyApp1 extends StatelessWidget {
const MyApp1({super.key}); @override
Widget build(BuildContext context) {
return Container(
child: TextButton(
onPressed: (){},
child: Text("文本按钮"),)
);
}
}

OutlinedButton

OutlineButton 默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和
阴影
class MyApp2 extends StatelessWidget {
const MyApp2({super.key}); @override
Widget build(BuildContext context) {
return Container(
child: OutlinedButton(
onPressed: (){},
child: Text("边框按钮"),)
);
}
}

IconButton

IconButton 是一个可点击的Icon,不包括文字,默认没有背景,点击后会出现背景
class MyApp3 extends StatelessWidget {
const MyApp3({super.key}); @override
Widget build(BuildContext context) {
return Container(
child: IconButton(
onPressed: (){},
icon: Icon(Icons.abc_rounded))
);
}
}

带图标的按钮

ElevatedButton 、 TextButton 、 OutlineButton 都有一个 icon 构造函数,通过它可以轻松创建
带图标的按钮
class MyApp4 extends StatelessWidget {
const MyApp4({super.key}); @override
Widget build(BuildContext context) {
return Row(children: [
ElevatedButton.icon(
icon: Icon(Icons.send),
label: Text("发送"),
onPressed: () {},
),
TextButton.icon(
onPressed: () {},
icon: Icon(Icons.access_alarm_outlined),
label: Text("确定")),
OutlinedButton.icon(
onPressed: () {},
icon: Icon(Icons.access_time_filled_sharp),
label: Text("增加"))
]);
}
}

修改按钮的宽度高度

class MyApp5 extends StatelessWidget {
const MyApp5({super.key}); @override
Widget build(BuildContext context) {
return SizedBox(
height: 80,
width: 200,
child: ElevatedButton(
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(const Color.fromARGB(255, 86, 244, 54)), //按扭背景颜色
foregroundColor: MaterialStateProperty.all(Colors.black)), //字体颜色
onPressed: () {},
child: Text("宽度高度"),
),
);
}
}

自适应按钮

class MyApp7 extends StatelessWidget {
const MyApp7({super.key}); @override
Widget build(BuildContext context) {
return Row(
children: [
Expanded(
child: Container(
color: Colors.green,
height: 80,
margin: EdgeInsets.all(10),
child: ElevatedButton(
child: const Text('自适应按钮'),
onPressed: () {
print("自适应按钮");
})),
)
],
);
}
}

配置圆形圆角按钮

圆角按钮
class MyApp8 extends StatelessWidget {
const MyApp8({super.key}); @override
Widget build(BuildContext context) {
return Container(
child: ElevatedButton(
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(
const Color.fromARGB(255, 33, 243, 61)), //背景颜色
foregroundColor: MaterialStateProperty.all(
const Color.fromARGB(255, 255, 255, 255)), //字体或者图标颜色
elevation: MaterialStateProperty.all(24), //是用来设置Material或Widget的阴影效果的 elevation的值是介于0到24之间的浮点数
shape: MaterialStateProperty.all( //圆角
RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10))),
),
onPressed: () {
print("圆角按钮");
},
child: const Text('圆角')));
}
}
圆形按钮
class MyApp8 extends StatelessWidget {
const MyApp8({super.key}); @override
Widget build(BuildContext context) {
return Container(
height: 80,
child: ElevatedButton(
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(
const Color.fromARGB(255, 33, 243, 61)), //按钮背景颜色
foregroundColor: MaterialStateProperty.all(
const Color.fromARGB(255, 255, 255, 255)), //字体或者图标颜色
elevation: MaterialStateProperty.all(
24), //是用来设置Material或Widget的阴影效果的 elevation的值是介于0到24之间的浮点数
shape: MaterialStateProperty.all(
CircleBorder(side: BorderSide(color: Colors.white)),
)),
onPressed: () {
print("圆形按钮");
},
child: const Text('圆形按钮')));
}
}

修改OutlinedButton边框

class MyApp9 extends StatelessWidget {
const MyApp9({super.key}); @override
Widget build(BuildContext context) {
return Row(
children: [
Expanded(
child: Container(
margin: EdgeInsets.all(20),
height: 50,
child: OutlinedButton(
style: ButtonStyle(
foregroundColor: MaterialStateProperty.all(Colors.black),
side: MaterialStateProperty.all( //边框颜色
const BorderSide(width: 1, color: Color.fromARGB(255, 54, 244, 95)))),
onPressed: () {},
child: const Text("注册 配置边框")),
),
)
],
);
}
}

15、Flutter 按钮组件的更多相关文章

  1. Flutter 中的常见的按钮组件 以及自定义按钮组件

    Flutter 里有很多的 Button 组件很多,常见的按钮组件有:RaisedButton.FlatButton. IconButton.OutlineButton.ButtonBar.Float ...

  2. Flutter中的按钮组件介绍

    Flutter 里有很多的 Button 组件很多,常见的按钮组件有:RaisedButton.FlatButton.IconButton.OutlineButton.ButtonBar.Floati ...

  3. Flutter 中的常见的按钮组件 以及自 定义按钮组件

    一.Flutter 中的按钮组件介绍   Flutter 里有很多的 Button 组件很多,常见的按钮组件有:RaisedButton.FlatButton.   IconButton.Outlin ...

  4. 22Flutter中的常见的按钮组件 以及自定义按钮组件

    /* Flutter中的常见的按钮组件 以及自定义按钮组件 一.Flutter中的按钮组件介绍 Flutter里有很多的Button组件,常见的按钮组件有:RaisedButton/FlatButto ...

  5. Flutter学习笔记(11)--文本组件、图标及按钮组件

    如需转载,请注明出处:Flutter学习笔记(10)--容器组件.图片组件 文本组件 文本组件(text)负责显示文本和定义显示样式,下表为text常见属性 Text组件属性及描述 属性名 类型 默认 ...

  6. flutter中的按钮组件

    Flutter 里有很多的 Button 组件很多,常见的按钮组件有:RaisedButton.FlatButton.IconButton.OutlineButton.ButtonBar.Floati ...

  7. 【Flutter学习】基本组件之基本按钮组件

    一,概述 由于Flutter是跨平台的,所以有适用于Android和iOS的两种风格的组件.一套是Google极力推崇的Material,一套是iOS的Cupertino风格的组件.无论哪种风格,都是 ...

  8. Flutter 基础组件:按钮

    前言 Material组件库中提供了多种按钮组件如RaisedButton.FlatButton.OutlineButton等,它们都是直接或间接对RawMaterialButton组件的包装定制,所 ...

  9. JAVA学习Swing章节按钮组件JButton的简单学习

    package com.swing; import java.awt.Container; import java.awt.Dimension; import java.awt.GridLayout; ...

  10. 一个 Vue 的滑动按钮组件

    git 地址:https://github.com/SyMind/vue-sliding-button vue-better-slider 一个 Vue 的滑动按钮组件,有关滑动方面的处理借鉴 bet ...

随机推荐

  1. Linux系列教程——Linux文件查找、Linux压缩打包、Linux软件管理

    @ 目录 1 Linux文件查找 1.find查找概述 2.find查找示例 1.find名称查找 2.find大小查找 3.find类型查找 4.find时间查找 5.find用户查找 6.find ...

  2. MySQL5.7版本单节点大数据量迁移到PXC8.0版本集群全记录-2

    本文主要记录57版本升级80版本的过程,供参考. ■ 57版本升级80版本注意事项 默认字符集由latin1变为utf8mb4 MyISAM系统表全部换成InnoDB表 sql_mode参数默认值变化 ...

  3. 挑战程序设计竞赛 2.2 poj 3040 Allowance 贪心

    https://vjudge.csgrandeur.cn/problem/POJ-3040 /* 作为创纪录的牛奶产量的奖励,约翰决定每周给贝西一小笔零用钱.FJ拥有一组N(1 <= N < ...

  4. js数据结构--队列

    <!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...

  5. Redis 6 学习笔记 2 —— 简单了解订阅和发布(Pub/Sub),JDK17环境下用Jedis 4.3.1连接Redis并模拟验证码发送

    REDIS pubsub -- Redis中国用户组(CRUG) 什么是发布和订阅 Redis发布订阅是一种通信模式:发送者(Pub)发送消息,订阅者(Sub)接收消息.Redis客户端可以订阅任意数 ...

  6. [Python] 利用python的第三方库xlrd和xlwt来处理excel数据

    今天在处理excel表格的时候,有一个需要提取表格中部分数据的操作.如果人工操作的话,有将近几千行,这样重复操作劳民伤财. 所以python就派上用场了. 简单介绍一下我要处理的问题,在excel一列 ...

  7. 停止 Windows 11 更新的行之有效的办法,去掉 Windows Defender 实时监控(Win 11)

    用设置的方法,几乎无法达成目的.即使禁用 Windows 11 服务里的 "Windows 更新" 服务,系统也会自己将之改成手动,然后再打开. 先找到控制面板 -> 服务, ...

  8. P9754 [CSP-S 2023] 结构体 题解

    大模拟的话,大家应该都会,主要就是容易写挂. 操作 1 先理解什么叫做对齐规则.这点我们以样例 2 进行解释: struct a { int aa; short ab; long ac; byte a ...

  9. 使用 Jenkins + Github + dokcer-compose 部署项目-实战篇

    使用 Jenkins + Github + dokcer-compose 部署项目-实战篇 需要声明的一点是,此处实现的项目自动构建原理是 Github+Jenkins 的 webhook,因此得保证 ...

  10. OpenGL 投光物详解

    1. 投光物 继续上一节的流程,到目前为止,我们介绍的都是点光源.但是现实世界中,光源的类型却要相对复杂一些.大概会有这么几种形式:定向光.点光源.聚光等等.  2. 定向光 当一个光源处于很远的地方 ...