成都创新互联网站制作重庆分公司

flutter炫酷按钮,flutter自定义控件

flutter怎么把一个outlinebutton按钮放在底部

我要做的是用BottomNavigationBarItem移除/替换FAB(浮动操作按钮),并将其放在BottomNavigationBar的中心,并为其创建样式。

我们提供的服务有:成都网站建设、做网站、微信公众号开发、网站优化、网站认证、芗城ssl等。为上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的芗城网站制作公司

为了按钮能够根据屏幕宽度进行延伸变宽,用了row和expanded,expanded多大面积,按钮就有多大面积。如果不用row,expanded会向下延伸,就不是我们要的效果了。

OutlineButton控件的child和onPressed是必须的属性,borderSide用来自定义边框颜色和样式。

【Flutter】按钮与文本(三)

此控件比较简单,按钮的功能可划分为UI样式与事件回调

这里将几种不同的按钮一起运行,做下对比动图如下:

这里对五种按钮进行column居中排列如下

Text用于显示简单样式文本,它包含一些控制文本显示样式的一些属性。

TextStyle用于指定文本显示的样式如颜色、字体、粗细、背景等。

TextStyle更多属性设置如下:

如果我们需要对一个Text内容的不同部分按照不同的样式显示,即富文本,这时就可以使用TextSpan,它代表文本的一个“片段”。

如上述,我们当然也可以在上述链接上添加手势事件,后续会提到。

在widget树中,文本的样式默认是可以被继承的,因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而DefaultTextStyle正是用于设置默认文本样式的。

举例如下:

Flutter基础Widget之按钮(RaisedButton、FlatButton、OutlineButton,IconButton)

Flutter中给我们预先定义好了一些按钮控件给我们用,常用的按钮如下

我们先来看看MaterialButton中的属性,可以看到能设置的属性还是很多的。

下面我们来看看常用属性

而在Android中如果我们要修改按钮样式的话,需要通过selector和Shape等方式进行修改,相比较Flutter来说是要麻烦不少的

RaisedButton的构造方法如下,由于继承自MaterialButton,所以MaterialButton中的大多数属性这边都能用,且效果一致,这里就不在赘述了

下面我们来看一下属性

接收一个方法,点击按钮时回调该方法。如果传null,则表示按钮禁用

如下图所示

按钮文本控件,一般都是传一个Text Widget

按钮颜色

按钮的文本颜色

点击按钮时水波纹颜色

高亮颜色,点击(长按)按钮后的颜色

阴影范围,一般不会设置太大

内边距,使用

或者

shape用来设置按钮的形状,其接收值是ShapeBorder类型,ShapeBorder是一个抽象类,我们来看看有哪些实现类

可以看到,实现类还是很多的,我们主要来看看常用的即可。

borderRadius 接收一个BorderRadius类型的值,常用方法如下

我们可以把borderRadius分为上下左右四个方向,下面的方法都是对这四个方向进行设置,

带斜角的长方形边框

圆形边框

圆角矩形

两端是半圆的边框

FlatButton跟RaisedButton用法基本一致,下面我们就直接用一下

注意,OutlineButton是一个有默认边线且背景透明的按钮,也就是说我们设置其边线和颜色是无效的,其他属性跟MaterialButton中属性基本一致

下面我们直接来使用

效果如下:

IconButton是直接继承自StatelessWidget的,默认没有背景

我们来看一下他的构造方法

可以看到,icon是必填参数

icon接收一个Widget,但是一般我们都是传入一个Icon Widget

其他属性跟MaterialButton中的属性用法基本一致

我们来用一下

效果如下:

我们也可以传一个Text或其他Widget,这个大家自行尝试吧

如果我们需要设置按钮的最小宽度以及高度,button属性中并没有提供对应的设置方法

使用如下:

Flutter中Button内容大概就是这些


本文标题:flutter炫酷按钮,flutter自定义控件
转载注明:http://cxhlcq.com/article/dscdspp.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部