简介
用于构建一个依赖于ButtonThem 和 Theme的按钮widget
- 如果有必要,按钮的大小是自是适配于其子widget的
- 最好不要直接使用这个widget,而应该可以考虑使用FlatButton、OutlineButton或者RaiseButton,他们包含一些和主题风格相适配的一些基础样式
- 如果要直接创建按钮而不继承主题默认值,可以考虑使用 RawMaterialButton
- 如果想使用ink-splash的效果但是又不想使用button,可以考虑使用InkWell
基本用法
尽量不要直接使用 MaterialButton
- 如果 MaterialButton上的onPress为null,则按钮处于被禁用状态
- IconButton 可以创建一些带有 图标的按钮
实例演示
import 'package:flutter/material.dart';
class MaterialButtonDemo extends StatelessWidget {
final TextStyle txtStyle = TextStyle(color: Colors.white);
@override
Widget build(BuildContext context) {
return Container(
child: Column(
children: <Widget>[
MaterialButton(
onPressed: () {
print('click MaterialButton');
},
child: Text(
'MaterialButton',
style: txtStyle,
),
color: Theme.of(context).primaryColor,
),
FlatButton.icon(
icon: Icon(
Icons.bubble_chart,
color: Colors.white,
),
label: Text(
'FlatButton',
style: txtStyle,
),
onPressed: () {
print('click FlatButton');
},
color: Theme.of(context).primaryColor,
),
RaisedButton(
onPressed: () {
print('click RaisedButton');
},
child: Text('RaisedButton'),
)
],
),
);
}
}