Unity UI自动拓展布局

这篇具有很好参考价值的文章主要介绍了Unity UI自动拓展布局。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity UI自动拓展布局

最近策划又改了一版UI设计,增加了很多需要根据文字数量、道具数量等自动拓展的UI,Unity自带的组件就可以很轻松的实现这样的效果。

首先文字自动拓展很简单,只需要在Text物体里增加个ContentSizeFItter组件,选择你需要的拓展方式(横向和纵向)将其选择PreferredSize选项就可以了。

那么再往上,如果需要文字拓展带动上层拓展的话,就需要在文字父物体上加上两个组件,第一个是LayoutGroup组件,这个组件有三个,分别是Grid(网格)、Horizontal(横向)、Vertical(纵向)布局,根据需要添加合适的就可以。另一个组件就是ContentSizeFItter了。当你加上这两个组件后,你会发现文字上的ContentSizeFItter组件会出现黄色的感叹号,大致意思是你父物体已经有布局组件了,你应该用这个布局组件来控制。这个时候你其实就可以把Text上的ContentSizeFItter组件移除了,在父物体的布局组件中ControlChildSize勾选你需要控制的方向。一般来说就没有问题了。

如果你的UI布局很复杂,有好几层需要拓展的,只需要最上层的那个物体增加ContentSizeFItter组件,其他子物体都不需要增加该组件。每一层的布局组件中的ControlChildSize都是独立的,如果你发现当你选择控制子物体大小后,子物体有缩在一起的情况,那么一定是你的子物体存在空物体的情况,也就是你用空物体作为父物体来做层级管理。出现这种情况你可以给这个空物体增加LayoutElement组件,然后勾选MinHeight,并在后面写上最小的间距,这个组件可以设置你空物体最小分配。

最后,如果你按照我说的做了之后,发现还是有个别的特别不听话,怎么整都整不好,还有个终极办法,所有的布局组件不勾选ControlChildSize,全都增加ContentSizeFItter组件,然后等需要刷新布局的时候,在代码中调用:LayoutRebuilder.ForceRebuildLayoutImmediate(RectTransform);
这个代码,RectTransform是你的最上层带有布局组件的RectTransform。这段代码最好是延迟一帧调用,当然你也可以Update中刷新。文章来源地址https://www.toymoban.com/news/detail-463103.html

到了这里,关于Unity UI自动拓展布局的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • element plus el-form双列布局及拓展任意布局

    一般表单我们直接默认布局,也就是单列布局,突然有个人员信息表单,需要双列布局的需求,简单实现并拓展下 直接无脑div+flex布局实现 这样的无脑实现实在是对不起付出的时间,不嫩复用是最大问题 封装el-form,增加slot // Form.vue // index.vue 依然不够通用,因为布局是固定

    2024年01月25日
    浏览(44)
  • 前端css + js +vue +element-ui 实现响应式布局,根据浏览器窗体大小自动响应

    我的环境是element-ui vue版的,其他的也可以,主要是css和js的内容 首先在data中定义一个对象 其实就是css的样式,不过放在了js 里面而已 这里css设置了两个属性 一个是transform 这个属性对div标签的缩放作用,当浏览器窗口或者屏幕大小改变时,就调整这个属性的值,来等比缩放

    2024年02月13日
    浏览(62)
  • Unity编辑器扩展——自动生成UI界面脚本

    一:前言 对于面板赋值或Find绑定UI组件,我们可以使用一种工具化的方式去自动生成代码并绑定对象,增加效率 分为logic和view,view层是UI界面上的组件,每次都会自动生成并覆盖,logic层是逻辑 二:使用 例如一个UI界面,我们只需要做成预制体并在Project下右键预制体,选择

    2024年02月11日
    浏览(47)
  • unity 控制text根据字数自动扩展大小,并扩展UI背景

    目录 1.UGUI 九宫格 拉伸 2.背景框添加组件  3.文本添加组件 4.锚点选择,不修改就是默认在中心,那么文本就会向 上下或者左右扩展,那样子就达不到我们能的要求了。    需求:文字内容位置保持不变,向下增加,背景框随之同步扩展。 1. UGUI 九宫格 拉伸 对背景框图片资

    2024年02月16日
    浏览(44)
  • 【unity3D】水平方向上UI自动排列整齐(Horizontal Layout Group组件)

    💗 未来的游戏开发程序媛,现在的努力学习菜鸡 💦本专栏是我关于游戏开发的学习笔记 🈶本篇是unity的Horizontal Layout Group 属性 功能 padding 布局组边缘内的填充 Spacing 布局元素之间的间距 Child Alignment 用于子布局元素的对齐方式 Reverse Arrangement 是否反向排列 Child Controls Siz

    2024年02月16日
    浏览(40)
  • Unity导航拓展—动态烘焙NavMash

    早在很久之前的2018年,Unity官方就拓展了导航NavMash,使其从只有静态烘焙场景路径更改为动态烘焙,并增添了包括动态烘焙和三维导航烘焙等方法,不过这方面先提动态烘焙。 在勾选了NavigationStatic后,地面就烘焙好了一片静态区域 在允许的导航网格内可以正常移动,然而游

    2024年04月14日
    浏览(37)
  • Unity编辑器拓展-Odin

    Unity不支持泛型类型序列化,例如字典原生Unity不支持序列化,而Odin可以继承序列化的Mono实现 功能强大且使用简单,原生Unity想实现一些常见的功能需要额外自己编写Unity扩展的编码,实现功能只需要加一个特性即可Odin帮忙写好了内部管理和实现 编辑器的窗口实现简单且美观

    2024年02月08日
    浏览(41)
  • 【Unity编辑器】拓展Hierarchy视图

    目录 1、拓展菜单 2、拓展布局 3、重写菜单 在Hierarchy视图中点击Create按钮,弹出的菜单My Create-Cube就是自定义拓展菜单 菜单中已经包含了系统默认的一些菜单项,我们拓展的原理就是重写MenuItem的自定义路径。Create按钮下的菜单项都在GameOject路径下面,所以只要开头是GameOb

    2024年02月02日
    浏览(50)
  • 【Unity编辑器】拓展Inspector视图

    目录 1、拓展源生组件 2、拓展继承组件 3、组件不可编辑 4、Context菜单 摄像机就是典型的源生组件。它的局限性就是拓展组件只能加在源生组件的最上面或者最下面,不能插在中间,不过这样也就够了 CustomEditor()表示自定义哪个组件,OnInspectorGUI()可以对它进行重新绘制,b

    2024年02月07日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包