如何使用Flutter CustomClipper实现右下角裁剪的自定义聊天气泡
Flutter自定义右下角裁剪聊天气泡实现
我是Flutter新手,正在尝试制作自定义聊天气泡。之前了解过实现左下角裁剪聊天气泡的方案,但我需要的是右下角裁剪的效果。
原左下角裁剪聊天气泡代码
@override Path getClip(Size size) { double factor = 10.0; final path = Path() ..lineTo(0, size.height) ..lineTo(factor, size.height - factor) ..lineTo(size.width - factor, size.height - factor) ..quadraticBezierTo(size.width, size.height - factor, size.width, size.height - (factor * 2)) ..lineTo(size.width, factor) ..quadraticBezierTo(size.width, 0, size.width - factor, 0) ..lineTo(factor, 0) ..quadraticBezierTo(0, 0, 0, factor) ..close(); return path; } @override bool shouldReclip(CustomClipper oldClipper) => false;
上述代码实现的是左下角带裁剪的聊天气泡,我想要实现的是右下角带裁剪的聊天气泡效果。
最终实现代码
我已成功实现需求,完整代码如下:
@override Path getClip(Size size) { double factor = 10.0; final path = Path() ..lineTo(0, size.height) ..lineTo(0, size.height - factor) ..lineTo(size.width - factor, size.height - factor) ..quadraticBezierTo(size.width, size.height, size.width, size.height) ..lineTo(size.width, factor) ..quadraticBezierTo(size.width, 0, size.width, 0) ..quadraticBezierTo(0, 0, 0, 0) ..close(); return path; } @override bool shouldReclip(CustomClipper oldClipper) => false;
内容的提问来源于stack exchange,提问作者bkg
相关产品推荐
相关产品推荐

