Unity UI中ScrollView的Content仅在Android端超出视口问题
Android端ScrollView内容莫名超出视口的解决办法(Windows正常、无脚本改动)
问题情况
- 此前运行正常的ScrollView,Content突然出现超出视口的显示问题
- 仅Android平台触发该Bug,Windows平台完全正常
- 期间未修改任何可能影响布局的脚本或UI设置
排查与解决方案
我排查后定位到是Android端Canvas缩放计算的兼容性问题,以下是亲测有效的解决步骤:
- 检查ScrollView的Viewport组件:如果使用了Soft Mask,替换为Hard Mask——Android端Soft Mask的布局计算偶尔会出现偏差,导致Content边界计算错误
- 重置Content的RectTransform:将锚点设为
(0,1),锚定位置设为(0,0),让Content的顶部和左侧完全贴合Viewport后重新运行 - 调整Canvas Scaler设置:若此前用的是
Scale With Screen Size,可临时切换为Constant Pixel Size测试,或确保Reference Resolution的宽高比与测试的Android设备一致 - 清理编译缓存:删除项目根目录下的
Library/Android文件夹后重新编译Android包——Unity的编译缓存偶尔会导致布局参数异常
内容的提问来源于stack exchange,提问作者Alex09
相关产品推荐
相关产品推荐

