flutter 按钮用法小记
Flutter 按钮
知识是人类进步的阶梯,总结笔记就是...... 额,管他的呢,挺好。那今天就聊聊 Flutter 中的按钮组件。
Flutter 中已经定义好了一些默认的按钮组件供我们直接使用,所以先请它们登场
RaisedButton: 凸起的按钮FlatButton: 扁平的按钮OutlineButton: 边框按钮IconButton: 图标按钮
前面三个都继承自
MaterialButton,最后一个继承自StatelessWidget。
为了去使用它们,那得再了解了解其内在(属性),下面就给出一张表:
| 属性 | 值类型 | 说明 |
|---|---|---|
| onPressed | VoidCallback | 一般接收一个方法 必填参数,按下按钮时触发的回调,传 null 表示按钮禁用,会显示禁用相关样式 |
| child | Widget | 文本控件 |
| textColor | Color | 文本颜色 |
| color | Color | 按钮的颜色 |
| disabledColor | Color | 按钮禁用时的颜色 |
| disabledTextColor | Color | 按钮禁用时的文本颜色 |
| splashColor | Color | 点击按钮时水波纹的颜色 |
| highlightColor | Color | 点击(长按)按钮后按钮的颜色 |
| elevation | double | 阴影的范围,值越大阴影范围越大 |
| padding | EdgeInsetsGeometry (抽象类) | 内边距 |
| shape | ShapeBorder(抽象类) | 设置按钮的形状 |
| minWidth | double | 最小宽度 |
| height | double | 高度 |
上面这些属性呢,就是大多按钮都有的。但是,有那么几个我们的单独说一下(怕你不会用啊)。
padding
内边距,其接收值的类型是EdgeInsetsGeometry类型的,是一个抽象类。所以一般都用EdgeInsets类中的方法来设置,先看看这个类中的常用方法。
1 | //单独设置左上右下的间距,四个参数都要填写 |
看到这些方法,想必大家应该知道怎么用了吧,这里我就不举例了哈。(啥?有人说不会。唉!那我就写一个吧)
1 | RaisedButton( |
shape
shape 用来设置按钮的形状,其接收值是 ShapeBorder 类型,也是一个抽象类。它的实现类还是蛮多的,我们主要来看看常用的就好了。
BeveledRectangleBorder六边形CircleBorder圆形RoundedRectangleBorder圆角矩形StadiumBorder两端是半圆
它们主要用的属性就两个,side 和 borderRadius
side 接收一个 BorderSide 类型的值。
1 | const BorderSide({ |
borderRadius 接收一个 BorderRadius 类型的值,常用方法也不多。
1 | BorderRadius.all() // 配置所有方向 |
OutlineButton
OutlineButton 是一个有默认边线且背景透明的按钮,也就是说我们设置其边线和颜色是无效的。
IconButton
IconButton 是直接继承自 StatelessWidget 的,默认没有背景,所以有个 icon 参数是必填的。下面给出参考代码
1 | IconButton( |
Icon 除了用 flutter 提供的之外还可以使用图片去自定义图形图标,下面也会给出参考代码
叮 图片一定要 png,加载出来是纯色的背景图片哦
1 | Widget getImageIcon(){ |
当然也可以使用图片
1 | Widget getImage() { |