按钮组件的属性

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. 手撕Vue-界面驱动数据更新

    经过上一篇文章,已经将数据驱动界面改变的过程实现了,本章节将实现界面驱动数据更新的过程. 界面驱动数据更新的过程,主要是通过 v-model 指令实现的, 只有 v-model 指令才能实现界面驱动数 ...

  2. 一些 trick 和思考收获

    2023.1.7 P1117 优秀的拆分 对于一眼看上去只能直接求解的题可以设置一些节点变为求每个节点的贡献 *2023 7.24 补充:这个 trick 也被称为设置关键点,通常用于区间长度固定或是 ...

  3. moment日期处理类库

    Moment 被设计为在浏览器和 Node.js 中都能工作. 安装 npm install moment --save # npm yarn add moment # Yarn 使用 /** * F ...

  4. AtCoder Beginner Contest 327 (ABC327)

    A. ab 直接根据题意模拟即可. Code B. A^A 直接枚举 \(i= 1, 2,\dots, 15\),每次看看 \(i ^ i\) 是否等于 \(A\) 即可. Code C. Numbe ...

  5. 01_实验一_操作系统的启动start

    实验一 操作系统的启动 从源代码到可运行的操作系统(前置知识) API 与 SDK 以 C 语言编写的操作系统为背景进行介绍,EOS 是由 C 语言编写的 操作系统和应用程序之间一个重要的纽带就是应用 ...

  6. JS逆向实战26——某店ua模拟登陆

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标 目标网站 aHR0c ...

  7. ST 表

    ST 表 定义 ST 表是用于解决 可重复贡献问题 的数据结构,通俗来说,一般可以解决区间查询问题. 区间最值和 \(gcd\) 我们以最大值为例,然后可以再推广到最小值和区间 \(gcd\) 首先你 ...

  8. python3使用libpcap给ESL命令添加日志记录

    操作系统 :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 python版本:3.9.12 libpcap版本:1.11.0b7   FreeSWITCH的ESL模块用起来很方 ...

  9. Kepware楼宇自控BACnet/IP驱动

    BACnet/IP驱动是楼宇自动化设备驱动的集合,为用户提供一种方便快捷的楼宇自动化设备数采解决方案.只需要通过简单的配置就可以将常见的BACnet/IP协议设备无缝连接到 HMI/SCADA.MES ...

  10. [ABC263F] Tournament

    Problem Statement $2^N$ people, numbered $1$ to $2^N$, will participate in a rock-paper-scissors tou ...