Flutter多层堆叠边框像素渲染异常问题求助
Flutter多层堆叠边框像素渲染异常问题求助
各位Flutter大佬好,我最近遇到一个头疼的像素渲染问题,想请教下大家怎么解决👇
我想要实现三层堆叠颜色的边框效果,目前的做法是嵌套多层DecoratedBox,每一层设置不同的边框颜色和宽度,同时用Padding来分隔不同层的边框(因为BoxDecoration本身不会自动留出间距)。但现在出现了奇怪的像素渲染异常:背景会从边框的某些区域透出来,而且这不是padding设置过小导致的整体对齐问题——比如只有左边框中间60%的部分失效,或者左上角边框出现重叠的情况。
下面是我当前的实现代码:
@override Widget build(BuildContext context) => DecoratedBox( decoration: const BoxDecoration( border: Border( top: BorderSide(color: windowLightFirstExternalBorderColor, width: 1), left: BorderSide(color: windowLightFirstExternalBorderColor, width: 1), right: BorderSide(color: windowDarkFirstExternalBorderColor, width: 1), bottom: BorderSide(color: windowDarkFirstExternalBorderColor, width: 1), ), ), child: Padding( padding: const EdgeInsets.all(1), child: DecoratedBox( decoration: const BoxDecoration( border: Border( top: BorderSide( color: windowLightSecondExternalBorderColor, width: 3, ), left: BorderSide( color: windowLightSecondExternalBorderColor, width: 3, ), right: BorderSide( color: windowDarkSecondExternalBorderColor, width: 3, ), bottom: BorderSide( color: windowDarkSecondExternalBorderColor, width: 3, ), ), ), child: Padding( padding: const EdgeInsets.all(3), child: DecoratedBox( decoration: BoxDecoration( border: Border.all(color: menuBackgroundColor, width: 4), ), child: Padding( padding: const EdgeInsets.all(4), child: child, ), ), ), ), ), );
我试过调整各层的padding数值,也检查过颜色常量的正确性,但这种局部的渲染异常还是存在。有没有大佬遇到过类似的情况?或者有没有更稳妥的实现多层边框的方法可以避免这种问题?
内容来源于stack exchange
相关产品推荐
相关产品推荐

