unity3D -- (UGUI)Scroll View

本文详细介绍了如何在Unity中使用ScrollView组件实现自定义布局。包括删除默认滚动条、添加内容区域、利用HorizontalLayoutGroup进行水平布局调整等步骤,并通过实例展示了不同设置下子物体的布局效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、相关组件

  • Scroll View 
  • Mask &&Rect Mask 2D
  • Scroll Rect
  • Horizontal Layout Group
  • Layout Element

二、步骤


1、创建一个Panel,并为其添加Scroll View 组件


2、删除Scroll View子组件Scrollbar Horizontal和Scrollbar Vertical

      左图是创建后的结构,右图是删除后的结构         

3、将Content添加到Scroll View的Content中


4、给Content添加Horizontal Layout Group


将Child Force Expand中的Width和Height都取消,该项的意思是:Content的子控件与Content做width扩展和height扩展。步骤5是取消width和height的效果。步骤6是未取消width取消height的效果,步骤7是取消width,未取消height的效果。

5、将Child Force Expand中的Width和Height都取消,在Content添加几个子物体


添加了4张图片,由于取消了Width和Height,图片按照自己的大小顺序摆放在Content中,当添加第5张图片或者更多的时候他们就会挤压父物体的宽


此时子物体的宽已经比原来的宽小一些了。

6、将Child Force Expand中的Width取消,Height勾中,在Content添加几个子物体


所有水平上的子物体平分Content的高。

7、将Child Force Expand中的Height取消,Width勾中,在Content添加几个子物体


所有子物体平分父物体的宽。

8、步骤5中,其实我们并不想让所有子物体平分父物体的宽,我们希望每个子物体保持自己的大小,超出父物体的部分可以滑动显示。这个时候我们就需要给子物体添加一个组件Layout Element


设置子物体的最合适宽高和最小的宽高都是300像素,效果如下


有没有发现子物体已经超过了父物体的宽,但是超过部分没有显示出来,这是因为父物体添加了Mask遮罩。

运行unity工程,可以滑动Scroll View ,动画就不给了。

Vertical Layout Group和Horizontal Layout Group一样的操作。

三、补充


1、Horizontal Layout Group一些属性

Padding 可以设置子物体的上下左右间隔
Spacing 两个子物体的间隔
Child Alignment 子物体相对于父物体对齐方式

2、 Mask遮罩

有时候使用Mask遮罩会有问题,主要是2D的时候。这个时候可以使用Rect Mask 2D





--Rocky



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值