真Unity3d_说说GUI的布局

说的不是UGUI,更不是NGUI,NGUI都是几年前的项目才用的,就是假如你接到一个外包,而那个包是2015年前开发的,才需要NGUI,所以真的不需要说

今天要说的是纯GUI,当然一般人可能不会用到了,不过给新人入门说一说吧

1.如果不懂GUI.Button 和GUILayout.Button的区别,可以看这个

https://blog.csdn.net/u013289188/article/details/29618897

2.如果不懂FlexibleSpace的原理

https://blog.csdn.net/u013289188/article/details/30749867

 

看过很多国外大牛写的自定义编辑器的代码用FlexibleSpace

让我一直以为 FlexibleSpace() 方法是可以让界面元素对齐的方法

其实 FlexibleSpace 真的就是做布局元素间扩展的,而不是布局元素本身的扩展

举个栗子:(以下文字效果图,最终截图在最后)

界面1:

-------------------------------------

元素1

-

|

|

元素2

-------------------------------------

中间的就是 FlexibleSpace, 使得元素1在顶部,而元素二在最底部, 当然打横布局也可以使用 Flexible

 

而不是

界面1-1:

-------------------------------------

元素1__________

元素2元素2元素2元素2

-------------------------------------

这并不是 FlexibleSpace 处理的

今天才知道 FlexibleSpace 是布局元素,相当于boxlayout 或者boxspace,如果有做过html5 或者javascript就比较好理解

又或者C++ 的MFC,Android的xml,

这个不需要深究,反正就是有做过一定界面编程经验的就应该要能理解

下面这个对齐需要的不是FlexibleSpace,而是LayoutOption.ExpandWidth(false)


function OnGUI () 
{

	GUILayout.Button("设置宽度不等于最宽按钮",GUILayout.ExpandWidth(false));
  	GUILayout.Button("设置宽度等于最宽按钮", GUILayout.ExpandWidth(true));
 
}

说完了,其实就这么多。。。。。。。只要懂原理就行了,不需要看什么API文档,不需要看什么书

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

avi9111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值