Flutter组件--按钮(Button)组件

这篇具有很好参考价值的文章主要介绍了Flutter组件--按钮(Button)组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.按钮组件的属性

 

属性 

说明

onPressed

必填参数,按下按钮时触发的回调,接收一个方法,传null表示按钮禁用,会显示禁用相关样式

child

子组件

style

通过ButtonStyle装饰

ButtonStylee里面的常用的参数

属性名称

值类型 

属性值

foregroundColor

Color

文本颜色

backgroundColor

Color

按钮的颜色

shadowColor

Color

阴影颜色

splashColor Color 渐没效果(单击的时候才会显示)

elevation

double

阴影的范围,值越大阴影范围越大

padding

内边距

shape

设置按钮的形状 shape: MaterialStateProperty.all(

RoundedRectangleBorder(

borderRadius: BorderRadius.circular(10))

),

设置成椭圆形

 shape:StaddiumBorder(),

side

设置边框

side: MaterialStateProperty.all(

BorderSide(width: 1,

color: Colors.red),

)

2.按钮的样式

2.1.ElevatedButton :"凸起"按钮,它默认带有阴影和灰色背景.按下后,阴影会变大;

2.2.TextButton :文本按钮,默认背景透明并不带阴影.按下后,会有背景色;

2.3.OutlineButton :默认有一个边框,不带阴影且背景透明.按下后,边框颜色会变亮、同时出现背景和阴影;

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

2.5.RaiseButton:漂浮按钮,默认会有一个灰色的背景色,单击后会有水波纹效果.

2.6.FlatButton:扁平按钮.默认只有文字,没有背景色和边框(里面可以使用icon增加图标和label增加文字展示).

注意事项:

       默认情况下,按钮距离上边沿和下边沿是有一定间距的.materialTapTargetSize是一个枚举类型,可以进行有效的控制.

3.示例代码:


class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return ListView(
      children: [
        Column(
          children: [
            /**
             * 普通按钮
             */
            ElevatedButton(
                onPressed: () {
                  print("按钮的单击事件");
                },
                child: Text("普通按钮")),
            SizedBox(height: 5),

            /**
             * 文本按钮
             */
            TextButton(onPressed: () {}, child: Text("文本按钮")),
            SizedBox(height: 5),

            /**
             * 边框按钮
             */
            OutlinedButton(onPressed: null, child: Text("边框按钮")),
            SizedBox(height: 5),

            /**
             * icon按钮
             */
            IconButton(onPressed: null, icon: Icon(Icons.thumb_up)),

            /**
             * 带图标的普通按钮
             */
            SizedBox(height: 5),
            ElevatedButton.icon(
                onPressed: (){},
                icon: Icon(Icons.send),
                label: Text("带图标的普通按钮")),

             /**
             * 设置普通按钮的属性
             */ 
            SizedBox(height: 5), 
            ElevatedButton(
              style: ButtonStyle(
                backgroundColor: MaterialStateProperty.all(Colors.yellow),//背景颜色
                foregroundColor: MaterialStateProperty.all(Colors.red),//文字颜色
              ),
              onPressed: (){}, 
            child: Text("设置相关属性")), 
            
             /**
             * 修改按钮的高度和宽度有两种方法:
             * 方法一:
             * 在按钮的外面增加一个Container组件,然后通过设置Container组件的宽度和高度,进而到达控制按钮尺寸的效果
             *方法二:
             *在按钮的最外层包裹一层ButtonTheme控件,该控件里面含有minWidth和height属性
             */ 
            SizedBox(height: 5), 
            Container(
              width: 400,
              height: 44,
              child:    ElevatedButton(
              style: ButtonStyle(
                backgroundColor: MaterialStateProperty.all(Colors.purple),//背景颜色
                foregroundColor: MaterialStateProperty.all(Colors.red.shade200),//文字颜色
                shape: MaterialStateProperty.all(
                  RoundedRectangleBorder(
                    borderRadius: BorderRadius.circular(22),//设置圆角
            
                  )
                )
              ),
              onPressed: (){}, 
            child: Text("设置按钮的宽度和高度")),
            ),
             SizedBox(height: 5), 
             Container(
              width: 100,
              height: 100,
              child:   ElevatedButton(
               style:ButtonStyle(
                shape: MaterialStateProperty.all(
                  CircleBorder(side: BorderSide(color:Colors.yellow))//按钮边框的颜色

                )
               ) ,
               onPressed: (){}, 
               
             child: Text("圆形按钮")) ,
             ),
             SizedBox(height: 5), 
             /**
              * 修改边框颜色
              */

              OutlinedButton(onPressed: (){},
               child: Text("修改边框颜色"),
               style: ButtonStyle(
                side: MaterialStateProperty.all(
                  BorderSide(width: 1,
                  color: Colors.red),
                )
               ),)
          

          ],
        )
      ],
    );
  }
}

flutter button,Flutter,按钮,Button,下拉按钮文章来源地址https://www.toymoban.com/news/detail-633869.html

4. 下拉按钮进行选择

class BoxStyleDemo extends StatefulWidget {
  const BoxStyleDemo({super.key});

  @override
  State<BoxStyleDemo> createState() => _BoxStyleDemoState();
}

class _BoxStyleDemoState extends State<BoxStyleDemo> {
  var selectValue;

  @override
  Widget build(BuildContext context) {
    return Container(
      child: DropdownButton(
          items: [
            DropdownMenuItem(
              child: Text('男'),
              value: 0,
            ),
            DropdownMenuItem(
              child: Text('女'),
              value: 1,
            ),
          ],
          onChanged: (value) {
            setState(() {
              selectValue = value;
            });
           
          },
          value: selectValue,
          hint: Text("请选择性别"),
           
          ),
    );
  }
}

到了这里,关于Flutter组件--按钮(Button)组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue 基于element-plus el-button封装按钮组件

    封装组件的原则是:组件只是数据流通的一个管道,不要糅合太多的逻辑在里面,是一个纯组件,还要根据自己项目的业务场景做具体的处理。

    2024年02月10日
    浏览(48)
  • 【Unity3D-UGUI系列】(三)Button 按钮组件详解

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 首先,介绍一个UGUI,NGUI是UGUI的前身,Unity开发团队将NGUI的开发团队收到自己开发团队

    2024年02月02日
    浏览(57)
  • 【微信小程序】使用button组件来实现一个带有点击效果的按钮,按钮中间添加一个大的+号图标

    在微信小程序中,你可以使用 button 组件来实现一个带有点击效果的按钮,并在按钮中间添加一个大的+号图标。以下是一个示例代码: 在上述代码中,我们使用了微信小程序的 button 组件,并在其中添加了一个 text 组件,文本内容为+号。使用类名为 button 的样式设置了按钮的

    2024年02月16日
    浏览(64)
  • VUE中使用ElementUI组件的单选按钮el-radio-button实现第二点击时取消选择的功能

    页面样式为: html 代码为: js代码为:(记得在data中声明loglevel:\\\"\\\")

    2024年02月15日
    浏览(50)
  • C# Winform中在DataGridView中添加Button按钮,操作Button按钮

    .Net的DataGridView控件中,提供了一种列的类型,叫 DataGridViewButtonColumn ,这种列类型是展示为一个 按钮,可以给button赋予相应的text,并且,此button可以用来做处理事件的判断依据。 DataGridViewButtonColumn,虽然在UI展现上,是一个BUTTON的样子,但是,它的实际形态,并不是传统意

    2024年02月07日
    浏览(49)
  • Flutter 组件(三)按钮类组件

    Flutter开发笔记 Flutter 组件(三)按钮类组件 - 文章信息 - Author: Jack Lee (jcLee95) Visit me at: https://jclee95.blog.csdn.net Email: 291148484@163.com. Shenzhen Chine Address of this article: https://blog.csdn.net/qq_28550263/article/details/131387856 【介绍】:本文介绍 Flutter 按钮类组件。 上一节:《 Flutter 组件(二

    2024年02月11日
    浏览(39)
  • flutter实现下拉菜单组件——基于PopupMenuButton

    客户端日常开发和学习过程,下拉菜单是一个很常见的组件,本文主要介绍flutter中实现下拉菜单组件的一个方案,基于PopupMenuButton来进行实现。 PopupMenuButton PopupMenuButton 是一个非常常见的弹出菜单栏。 属性介绍: 话不多说,直接上代码 (1)新建MenuItem.dart通用菜单项类,代码

    2024年02月07日
    浏览(65)
  • Android 之 Button (按钮)与 ImageButton (图像按钮)

    今天给大家介绍的Android基本控件中的两个按钮控件,Button普通按钮和ImageButton图像按钮; 其实ImageButton和Button的用法基本类似,至于与图片相关的则和后面ImageView相同,所以本节 只对Button进行讲解,另外Button是TextView的子类,所以TextView上很多属性也可以应用到Button 上!我们

    2024年02月07日
    浏览(49)
  • 【Unity】Button基础-按钮更换图片样式

    话说,今天修改了一下项目中的内容,发现按钮不怎么好看,想用图片的方式改一改,然后点开Button,忽然发现好多内容都忘记了。。。 Transition(过渡方式):按钮在状态改变时自身的过渡方式: Color Tint(颜色改变)  Sprite Swap(图片切换)  Animation(执行动画)(后面有

    2023年04月14日
    浏览(46)
  • Android里面,button按钮怎么设置圆角?

    在Android中,可以通过创建一个自定义的Drawable XML文件来实现给Button设置圆角的效果。以下是创建圆角按钮的步骤: 在 res/drawable 文件夹下,创建一个新的XML文件,例如 rounded_button.xml 。 在 rounded_button.xml 文件中,添加以下代码: 在这里,你可以自定义圆角的半径、按钮的颜色

    2024年02月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包