天天看点

Unity-UI控件在不同设备等比例缩放显示

Unity的Canvs下提供了一个简单的设置方法

Unity-UI控件在不同设备等比例缩放显示

如果想动态的调整,最好的方法是用代码来控制

//以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());

效果:

Unity-UI控件在不同设备等比例缩放显示
Unity-UI控件在不同设备等比例缩放显示