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() { |