Unity的Canvs下提供了一个简单的设置方法
如果想动态的调整,最好的方法是用代码来控制
//以1920x1080为基准,屏幕根据高度的不同等比例缩放,适配控件的大小
public void RectAdaptY(RectTransform rect)
{
float scale = Screen.height / 1080f;
Debug.Log("scale = " + scale);
rect.sizeDelta = new Vector2(scale, scale) * rect.sizeDelta;
}
//以1920x1080为基准,屏幕根据宽度的不同等比例缩放,适配控件的大小
public void RectAdaptX(RectTransform rect)
{
float scale = Screen.width / 1920f;
rect.sizeDelta = new Vector2(scale, scale) * rect.sizeDelta;
}
使用
RectAdaptY(button1.GetComponent());
效果: