此控件比较简单,按钮的功能可划分为UI样式与事件回调
10年的松北网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整松北建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“松北网站设计”,“松北网站推广”以来,每个客户项目都认真落实执行。
这里将几种不同的按钮一起运行,做下对比动图如下:
这里对五种按钮进行column居中排列如下
Text用于显示简单样式文本,它包含一些控制文本显示样式的一些属性。
TextStyle用于指定文本显示的样式如颜色、字体、粗细、背景等。
TextStyle更多属性设置如下:
如果我们需要对一个Text内容的不同部分按照不同的样式显示,即富文本,这时就可以使用TextSpan,它代表文本的一个“片段”。
如上述,我们当然也可以在上述链接上添加手势事件,后续会提到。
在widget树中,文本的样式默认是可以被继承的,因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而DefaultTextStyle正是用于设置默认文本样式的。
举例如下:
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开发过程中,发现Android手机在App首页点击物理返回按钮时,App会退出并且再次点开App时会重新启动,这代表了上次的退出直接杀死了App,和我们平常的退到手机桌面不同,所以开发了一个单独插件来处理这种情况。
使用步骤如下:
1、pubspec.yaml文件中引入依赖
2、引用插件
3、使用插件来退出App到桌面,并且保持App后台运行
可根据实际情况在_onWillPop方法中处理相关逻辑,比如连续两次点击物理返回按钮才退出到桌面等。