脚本宝典收集整理的这篇文章主要介绍了flutter 自定义带水波纹和点击态的cell,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
请支持原文:http://tryenough.com/flutter-custom-cell
看效果
代码:
请支持原文:http://tryenough.com/flutter-custom-cell
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: <Widget>[
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)),
],
),
),
)
),
);
}
}
@H_344_126@请支持原文:http://tryenough.com/flutter-custom-cell
使用的地方
_CListTile(
text: "test title",
leadingIconPath: "images/test.png",
leadingHighLightIconPath: "images/test1.png",
onTab: () {
PRint("test");
}),
以上是脚本宝典为你收集整理的flutter 自定义带水波纹和点击态的cell全部内容,希望文章能够帮你解决flutter 自定义带水波纹和点击态的cell所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。