Unity-UGUI根据标签宽度实现瀑布流布局--FlowLayoutGroup

1.jpg

UGUI如果要实现如上图的布局效果,很可惜,UGUI没有自带这个功能,UGUI的布局无非就是Horizontal Layout GroupVertical Layout GroupGrid Layout Group三种布局。但是这三种布局都是很平凡的布局,没有带有这种特殊布局的。唯一和它相像的就是Grid Layout Group,但是Grid Layout Group要求它所有子对象都是定宽定高的。像这样每个子对象宽高都不一样就不好办了。
不过可以通过FlowLayoutGroup这个插件来实现这个功能,这个也称不上是插件,因为就是一个纯源码的Component。先上这个Demo的源码吧。

http://www.weibut.com/download/134
不知道为何下载下来没有附带脚本,发一个基于百度盘的链接:FlowLayoutGroup.unitypackage

用法很简单,就是和UGUI自带的布局组件一样的。

2.jpg

Canvas下新建一个空物体,添加FlowLayoutGroup脚本,然后在这个物体下添加Image,并为Image挂上Horizontal Layout Group脚本

3.jpg

再往Image下添加一个Text组件,现在就可以输入Text的文本,来改变Image的宽度实现瀑布流效果。

解释为什么要在Image上添加Horizontal Layout Group脚本,是为了实现更具Text文字长度来动态改变Image的宽度。

如果有什么不懂的具体可以看源码,源码里面包括了FlowLayoutGroup脚本。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,537评论 0 17
  • 1.LayoutElement 这个组件能提供组件的最大最小和最合适大小信息,比如Text,Image都是实现了I...
    LiGm阅读 1,411评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,455评论 25 708
  • 参加这个体验营,源于自己想要更快适应这个学校尽快融进来的心理。当初还无比纠结是写五百字还是一千字呢?后来跟...
    薇璃阅读 348评论 1 0
  • 2.1 下载MySQL 进入MySQL下载页面: https://dev.mysql.com/downloads/...
    上书房_张强阅读 647评论 0 1