ITPub博客

首页 > 应用开发 > IT综合 > Flutter之ElevatedButton详解

Flutter之ElevatedButton详解

原创 IT综合 作者:liuguanip 时间:2023-10-09 09:44:43 0 删除 编辑

简介

ElevatedButton 是 Flutter 中一个常用的按钮组件,是一个功能齐全的 Material Design 按钮组件,可以用于创建漂亮的UI和良好的用户体验,它具有以下主要特性:


样式:默认情况下,ElevatedButton有一定的边框阴影和填充颜色,给人一种抬起的3D效果。它的样式可以通过style和color属性来自定义。

点击效果:ElevatedButton默认有点击效果,通过highlightColor和splashColor可以自定义点击效果的颜色。

禁用状态:可以通过enabled属性设置ElevatedButton的禁用状态,禁用状态下按钮会变灰并失去点击效果。

标签和图标:ElevatedButton可以设置文字标签通过child属性,也可以包含图标通过icon属性。

大小:可以通过minimumSize和padding属性设置ElevatedButton的大小。

其他属性:ElevatedButton还有其他属性如shape、elevation、highlightElevation等来设置按钮外观。

一个简单的ElevatedButton示例:

ElevatedButton(

  onPressed: () {

    print('Pressed');

  },

  child: Text('Click me'),

  style: ElevatedButton.styleFrom(

    primary: Colors.blue, 

    onPrimary: Colors.white,

    shadowColor: Colors.blueAccent,

    elevation: 10,

  ),

)

ElevatedButton(

  onPressed: () {

    print('Pressed');

  },

  child: Text('Click me'),

  style: ElevatedButton.styleFrom(

    primary: Colors.blue, 

    onPrimary: Colors.white,

    shadowColor: Colors.blueAccent,

    elevation: 10,

  ),

)


这个按钮有蓝色填充色和白色文字,设置了10像素高度的阴影,并且在点击时打印“Pressed”


主要属性说明:

onPressed:按钮点击回调函数,必须设置。

child:按钮显示的子组件,通常是Text组件。

style:按钮的样式,可以设置颜色、阴影、形状等。例如:

dart

style: ElevatedButton.styleFrom(

primary: Colors.blue,

onPrimary: Colors.white,

shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)),

)

color:按钮的背景颜色,如果同时设置了style,以style为准。

disabledColor:禁用状态下的背景颜色。

elevation:阴影高度,默认为2,可以设置为0以去除阴影效果。

highlightElevation:点击状态下的阴影高度,默认加深了4像素。

disabledElevation:禁用状态下的阴影高度,默认为0。

shape:按钮的形式,可以是圆形、方形或带圆角的长方形,默认是直角。

padding:按钮内边距,可以控制按钮的大小。

icon:按钮前面显示的图标,child为文字时与文字相邻显示。

label:按钮的文字,过时属性,现在使用child代替。

splashColor:点击时的水波纹颜色。

highlightColor:按钮点击时的高亮颜色。

onHighlightChanged:高亮状态改变时的回调函数。

enabled:是否启用按钮,默认为true,false时按钮会被禁用。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70033950/viewspace-2987470/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2023-09-19

  • 博文量
    13
  • 访问量
    11896