博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flutter 自定义带水波纹和点击态的cell
阅读量:7027 次
发布时间:2019-06-28

本文共 2441 字,大约阅读时间需要 8 分钟。

请支持原文:

看效果

代码:

请支持原文:

class _CListTile extends StatefulWidget {  _CListTile(      {Key key,      this.text,      this.textColor: Colors.black,      this.textHighLightColor: const Color(0xff25C78A),      this.leadingIconPath,      this.leadingHighLightIconPath,      @required this.onTab})      : super(key: key);  final Function onTab;  final String text;  final Color textColor;  final Color textHighLightColor;  final String leadingIconPath;  final String leadingHighLightIconPath;  _CListTileState createState() => _CListTileState();}class _CListTileState extends State<_CListTile> {  bool _highlight = false;  void _handleTapDown(TapDownDetails details) {    setState(() {      _highlight = true;    });  }  void _handleTapUp(TapUpDetails details) {    setState(() {      _highlight = false;    });  }  void _handleTapCancel() {    setState(() {      _highlight = false;    });  }  void _handleTap() {    widget.onTab();  }  Widget build(BuildContext context) {    return GestureDetector(      onTapDown: _handleTapDown,      onTapUp: _handleTapUp,      onTap: _handleTap,      onTapCancel: _handleTapCancel,      child: Container(        height: 52,        child: Material(          child: InkWell(            onTap: (){              if(widget.onTab != null) {                widget.onTab();              }            },            child: Row(              mainAxisAlignment: MainAxisAlignment.start,              mainAxisSize: MainAxisSize.max,              children: 
[ Padding(padding: EdgeInsets.only(left: 16)), _highlight ? Image.asset(widget.leadingHighLightIconPath, width: 25) : Image.asset(widget.leadingIconPath, width: 25), Padding(padding: EdgeInsets.only(left: 15)), Text(widget.text, style: TextStyle( fontSize: 16.0, fontWeight: FontWeight.w600, color: _highlight ? widget.textHighLightColor : widget.textColor)), ], ), ), ) ), ); }}复制代码

请支持原文:

使用的地方

_CListTile(            text: "test title",            leadingIconPath: "images/test.png",            leadingHighLightIconPath: "images/test1.png",            onTab: () {              print("test");            }),复制代码

转载于:https://juejin.im/post/5cbd77e5f265da039955dbe9

你可能感兴趣的文章
lsscsi命令详解
查看>>
Elementary Methods in Number Theory Exercise 1.2.25
查看>>
记:安卓上的行内元素清除浮动失效
查看>>
面试题
查看>>
python之装饰器
查看>>
TOMCAT配置SSL认证为HTTPS协议服务
查看>>
空间谱专题08:相位模糊
查看>>
infoepo sql用法整理
查看>>
Codeforces Round #353 (Div. 2)
查看>>
20145234黄斐《Java程序设计》第六周学习总结
查看>>
js数据类型?
查看>>
使用BTRACE定位系统中慢的问题
查看>>
使用autoit,可以节省您很多时间
查看>>
关闭mysql validate-password插件
查看>>
Linux之 网卡发包、接包 error 、droped 情况
查看>>
zabbix之 自动发现磁盘io util 监控
查看>>
Zookeeper的RPC框架
查看>>
开发PL/SQL子程序——过程
查看>>
管理表空间和数据文件——建立表空间——建立本地管理表空间
查看>>
使用Spring Cloud Feign
查看>>