Flutter自定义GlassmorphismContainer无法固定在屏幕底部问题
问题解决:玻璃态容器无法固定在屏幕底部
问题出在你的GlassmorphismContainer内部布局上:里面的ConstrainedBox.expand()会强制组件占满父容器空间,再加上Center组件把实际的玻璃态容器居中,直接抵消了外部Align.bottomCenter的定位效果。
修复方案
直接简化GlassmorphismContainer的内部结构,去掉多余的布局组件,让容器尺寸由传入的参数决定,外部布局就能正确控制它的位置:
class GlassmorphismContainer extends StatelessWidget { final double width; final double height; final Widget? child; const GlassmorphismContainer({ super.key, required this.width, required this.height, this.child, }); @override Widget build(BuildContext context) { return ClipRect( child: BackdropFilter( filter: ImageFilter.blur(sigmaX: 10.0, sigmaY: 10.0), child: Container( width: width, height: height, decoration: BoxDecoration( color: Colors.grey.shade600.withOpacity(0.5), // 可选:添加顶部圆角优化视觉效果 borderRadius: const BorderRadius.only( topLeft: Radius.circular(20), topRight: Radius.circular(20), ), ), child: child, ), ), ); } }
说明
- 移除了
Stack和ConstrainedBox.expand(),避免组件强制占满全屏 - 删掉
Center组件,让容器位置完全由外部的Align.bottomCenter控制 - 保留核心的
ClipRect、BackdropFilter和半透明容器,保证玻璃态模糊效果正常
你的RegisterScreen代码不需要任何改动,现在运行就能看到玻璃态容器稳稳固定在屏幕底部了。
内容的提问来源于stack exchange,提问作者Jonasaas1
相关产品推荐
相关产品推荐

