开发的时候遇到的问题,安卓机下,发现背景宽度并未自动适配,会留下空白,如下:
解决办法:
1.写代码自动适配,如下:
private void UpdateScale()
{
if (_scaler == null) _scaler = GetComponentInParent<CanvasScaler>();
Debug.Log(_scaler.referenceResolution);
var resolution = _scaler.referenceResolution;
var rt = _scaler.transform as RectTransform;
if (rt == null) return;
var screenSize = rt.sizeDelta;
var factor = Mathf.Max(screenSize.x / resolution.x, screenSize.y / resolution.y);
var scale = Vector3.one * factor;
transform.localScale = scale;
}
[Conditional("UNITY_EDITOR")]
private void Update()
{
UpdateScale();
}
2.使用Shrink模式,如下:

3.背景图片锚点设置成以下格式:
均能解决此问题:


本文分享了在安卓开发中解决背景图片未能自动适配屏幕宽度,导致出现空白区域的问题。提供了三种解决方案:通过代码自动调整缩放比例,使用Shrink模式,以及正确设置背景图片的锚点。

2379

被折叠的 条评论
为什么被折叠?



