Flutter TextButton + ButtonStyle使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Widget _itemText(String txt, {Function()? onPress}) {
    //需要使用SizedBox限制TextButton高度
    return SizedBox(
      height: 20,
      width: 44,
      child: TextButton(
        onPressed: onPress,
        style: ButtonStyle(
            padding: MaterialStateProperty.all(EdgeInsets.zero),
            //这个style设置的color不生效,要设置foregroundColor
            textStyle: MaterialStateProperty.all(const TextStyle(
              color: Colors.white,
              fontSize: 12,
            )),
            //取消圆角边框
            shape: MaterialStateProperty.all(
                const RoundedRectangleBorder(borderRadius: BorderRadius.zero)),
            foregroundColor: MaterialStateProperty.all(Colors.white),
            backgroundColor: MaterialStateProperty.resolveWith((state) {
              if (state.contains(MaterialState.pressed)) {
                //背景颜色按下时
                return Colors.white.withOpacity(0.1);
              }
              return null;
            }),
            //水波纹效果
            overlayColor:
                MaterialStateProperty.all(Colors.white.withOpacity(0.1))),
        child: Text(
          txt,
        ),
      ),
    );
  }

  

posted @   bg_不够  阅读(519)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示