题记
—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,优美的应用体验 来自于细节的处理,更源自于码农的自我要求与努力
Flutter是谷歌推出的最新的移动开发框架。
【x1】微信公众号的每日提醒 随时随记 每日积累 随心而过 文章底部扫码关注
TextButton 是 1.20.0 推出的一个新的按钮,基本使用代码如下:
TextButton(
onPressed: () {},
child: Text("TextButton按钮"),
)
然后运行效果 如下:
这种效果看起来更舒服,有一种漪连过渡的粘性效果。
修改 TextButton 的样式 需要通过 ButtonStyle 来修改,描述如下:
//这是一个文本按钮 未设置点击事件下的样式
Widget buildTextButton2() {
return TextButton(
child: Text("TextButton按钮"),
//添加一个点击事件
onPressed: () {},
//设置按钮是否自动获取焦点
autofocus: true,
//定义一下文本样式
style: ButtonStyle(
//定义文本的样式 这里设置的颜色是不起作用的
textStyle: MaterialStateProperty.all(
TextStyle(fontSize: 18, color: Colors.red)),
//设置按钮上字体与图标的颜色
//foregroundColor: MaterialStateProperty.all(Colors.deepPurple),
//更优美的方式来设置
foregroundColor: MaterialStateProperty.resolveWith(
(states) {
if (states.contains(MaterialState.focused) &&
!states.contains(MaterialState.pressed)) {
//获取焦点时的颜色
return Colors.blue;
} else if (states.contains(MaterialState.pressed)) {
//按下时的颜色
return Colors.deepPurple;
}
//默认状态使用灰色
return Colors.grey;
},
),
//背景颜色
backgroundColor: MaterialStateProperty.resolveWith((states) {
//设置按下时的背景颜色
if (states.contains(MaterialState.pressed)) {
return Colors.blue[200];
}
//默认不使用背景颜色
return null;
}),
//设置水波纹颜色
overlayColor: MaterialStateProperty.all(Colors.yellow),
//设置阴影 不适用于这里的TextButton
elevation: MaterialStateProperty.all(0),
//设置按钮内边距
padding: MaterialStateProperty.all(EdgeInsets.all(10)),
//设置按钮的大小
minimumSize: MaterialStateProperty.all(Size(200, 100)),
//设置边框
side:
MaterialStateProperty.all(BorderSide(color: Colors.grey, width: 1)),
//外边框装饰 会覆盖 side 配置的样式
shape: MaterialStateProperty.all(StadiumBorder()),
),
);
}
以小编的性格,要实现百万Demo随时复制粘贴肯定是需要源码的完整源码在这里
以小编的性格,肯定是要录制一套视频的,点击这里查看详情
有兴趣 你可以关注一下 西瓜视频 — 早起的年轻人
Flutter跨平台APP开发 新版本按钮 TextButton 的详细使用