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);   
 
  |