Flutter基础组件: Button

Material组件库提供了多种按钮组件, 如: ElevatedButton, TextButton, OutlineButton等, 所有的Material组风格的按钮都有以下相同的特点:

  1. 按下都有水波动画
  2. 有一个onPressed属性必须设置

1. ElevatedButton

ElevatedButton
ElevatedButton(
  child: const Text("hello world"),
  onPressed: () {},
);

2. TextButton

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

TextButton

TextButton(
  child: const Text('hello world'),
  onPressed: () {
    print('点我');
  },
),

3. OutlinedButton

OutlinedButton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱)

OutlinedButton

OutlinedButton(
  child: const Text('hello world'),
  onPressed: () {
    print('点我');
  },
),

4. IconButton

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

IconButton

IconButton(
  icon: const Icon(Icons.keyboard_arrow_right),
  onPressed: () {},
)

5. FloatingActionButton

浮动原型按钮


FloatingActionButton
FloatingActionButton(
  child: const Text('返回'),
  onPressed: () {
    print('点我');
  },
),

5. 给按钮加图标

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

加图标的按钮
ElevatedButton.icon(
  icon: const Icon(Icons.keyboard_arrow_left),
  label: const Text('返回'),
  onPressed: () {
    print('点我');
  },
),
TextButton.icon(
  icon: const Icon(Icons.keyboard_arrow_left),
  label: const Text('返回'),
  onPressed: () {
    print('点我');
  },
),
OutlinedButton.icon(
  icon: const Icon(Icons.keyboard_arrow_left),
  label: const Text('返回'),
  onPressed: () {
    print('点我');
  },
),
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容