11.GUILayout自动布局

  1. 11.自定义整体样式-自动布局
    1. 11.1 知识点
      1. GUILayout自动布局
        1. 效果
      2. GUILayoutOption布局选项
    2. 11.2 知识点代码

11.自定义整体样式-自动布局


11.1 知识点

GUILayout自动布局

// GUILayout是一个类似GUI的类,里面的API和GUI类似,只是可以帮我们自动布局,不用手动调整位置,方便一点。
// GUILayout 类是 Unity GUI 的接口,并且具有自动布局功能。
// 主要用于进行编辑器开发,如果用它来做游戏UI不太合适。

// GUILayout和GUI可以相互配合着使用
GUI.BeginGroup(new Rect(100, 100, 500, 300));

GUILayout.BeginArea(new Rect(10, 10, 400, 300)); // 在一个固定的屏幕区域中开始 GUI 控件的 GUILayout 块。

GUILayout.BeginVertical(); // 开始一个垂直控件组。

GUILayout.Button("竖直123", GUILayout.Width(200)); // 控件的固定宽高
GUILayout.Button("竖直245666656565");
GUILayout.Button("竖直235", GUILayout.ExpandWidth(false)); // 允许或禁止水平拓展

GUILayout.EndVertical(); // 闭合以 BeginVertical 开始的组。

GUILayout.BeginHorizontal(); // 开始一个水平控件组。

GUILayout.Button("水平123", GUILayout.Height(300)); // 控件的固定宽高
GUILayout.Button("水平245666656565");
GUILayout.Button("水平235", GUILayout.ExpandWidth(false)); // 允许或禁止水平拓展

GUILayout.EndHorizontal(); // 闭合以 BeginHorizontal 开始的组。

GUILayout.EndArea(); // 闭合以 BeginArea 开始的 GUILayout 块。

GUI.EndGroup();

效果

GUILayoutOption布局选项

//控件的固定宽高
GUILayout.Width(300);
GUILayout.Height(200);

//允许控件的最小宽高
GUILayout.MinWidth(50);
GUILayout.MinHeight(50);

//允许控件的最大宽高
GUILayout.MaxWidth(100);
GUILayout.MaxHeight(100);

//允许或禁止水平竖直拓展
GUILayout.ExpandWidth(true);//允许
GUILayout.ExpandHeight(false);//禁止

11.2 知识点代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Lesson11_自定义整体样式_自动布局 : MonoBehaviour
{
    private void OnGUI()
    {
        #region 知识点一 GUILayout自动布局

        //GUILayout是一个类似GUI的类 里面的API和GUI类似 只是可以帮我们自动布局 不用手动调整位置 方便一点
        //GUILayout 类是 Unity GUI 的接口,并且具有自动布局功能。
        //主要用于进行编辑器开发 如果用它来做游戏UI不太合适

        //GUILayout和GUI可以相互配合着使用
        GUI.BeginGroup(new Rect(100, 100, 500, 300));


        GUILayout.BeginArea(new Rect(10, 10, 400, 300));//在一个固定的屏幕区域中开始 GUI 控件的 GUILayout 块。

        GUILayout.BeginVertical();//开始一个垂直控件组。

        GUILayout.Button("竖直123", GUILayout.Width(200));//控件的固定宽高
        GUILayout.Button("竖直245666656565");
        GUILayout.Button("竖直235", GUILayout.ExpandWidth(false));//允许或禁止水平拓展

        GUILayout.EndVertical();//闭合以 BeginVertical 开始的组。


        GUILayout.BeginHorizontal();//开始一个水平控件组。

        GUILayout.Button("水平123", GUILayout.Height(300));//控件的固定宽高
        GUILayout.Button("水平245666656565");
        GUILayout.Button("水平235", GUILayout.ExpandWidth(false));//允许或禁止水平拓展

        GUILayout.EndHorizontal();//闭合以 BeginHorizontal 开始的组。

        GUILayout.EndArea();//闭合以 BeginArea 开始的 GUILayout 块。


        GUI.EndGroup();

        #endregion

        #region 知识点二 GUILayoutOption布局选项

        //控件的固定宽高
        GUILayout.Width(300);
        GUILayout.Height(200);
        //允许控件的最小宽高
        GUILayout.MinWidth(50);
        GUILayout.MinHeight(50);
        //允许控件的最大宽高
        GUILayout.MaxWidth(100);
        GUILayout.MaxHeight(100);
        //允许或禁止水平竖直拓展
        GUILayout.ExpandWidth(true);//允许
        GUILayout.ExpandHeight(false);//禁止

        #endregion
    } 
}


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏