UG1L10——GUILayout
本章代码关键字
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| GUILayout GUILayout.BeginArea() GUILayout.EndArea() GUILayout.BeginHorizontal() GUILayout.EndHorizontal()
GUILayout.Width() GUILayout.Height() GUILayout.MinWidth() GUILayout.MinHeight() GUILayout.MaxWidth() GUILayout.MaxHeight() GUILayout.ExpandWidth() GUILayout.ExpandHeight()
|
自动布局
GUILayout
可以绘制所有之前提过GUI
的UI控件,
相对于原来GUI
的绘制相比,GUILayout
绘制UI控件不需要传入Rect
参数,它会自动设置
也就是说,GUILayout
会自动对UI控件从上到下进行布局,而无需自己编写位置逻辑
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| private void OnGUI() { GUILayout.BeginArea(new Rect(100, 100, 100, 100)); GUILayout.BeginHorizontal();
GUILayout.Button("123", GUILayout.Height(300)); GUILayout.Button("1234"); GUILayout.Button("12345");
GUILayout.EndHorizontal(); GUILayout.EndArea(); }
|
主要用于制作编辑器界面,因为编辑器界面相对简单,类似于下面的界面:
布局选项
以下方法返回的GUILayoutOpiton
值都可以传入到GUILayout
的UI控件绘制方法内
原来控制GUILayout
对UI控件的自动布局的细节
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| GUILayout.Width(300); GUILayout.Height(200);
GUILayout.MinWidth(50); GUILayout.MinHeight(50);
GUILayout.MaxWidth(100); GUILayout.MaxHeight(100);
GUILayout.ExpandWidth(false); GUILayout.ExpandWidth(true); GUILayout.ExpandHeight(false); GUILayout.ExpandHeight(true);
|