Unity3d UGUI 实现底部UI自适应的功能(含工程)

Unity3d UGUI 实现底部UI自适应的功能(含工程)

前言

UI的自适应常常在项目中使用到,特别手游中,不同比例屏幕的手机,如果能考一套UI自适应显示,能省去不少的开发工作量。这里只是浅浅的讨论一下,这种居中靠底部的UI我们怎么实现自适应。

效果

自由分辨率下,自由拖动的效果:
在这里插入图片描述

分辨率1效果:
在这里插入图片描述

分辨率2效果:
在这里插入图片描述

分辨率3效果:

在这里插入图片描述

实现

如下图的UI:
在这里插入图片描述

我们首先要思考各个部分的分布,红色部分是一个固定图片/内容显示,中间黄色部分是一个向上滚动的列表,右侧绿色部分是一个上滚动的图片列表;我们暂定的适配方式是高度固定,宽度动态适配,这三部分中能动态的就是绿色部分,可以动态展示图片的列数。

UI搭建

搭建的UI节点:

在这里插入图片描述

这里不做多的细节描述,除了图片文字组件,就用到了ScrollRect 、 Vertical Layout Group和 Grid Layout Group等组件。

UI自适应

Canvas Scaler的设置:
在这里插入图片描述

这里进行了高度匹配的设置,宽度则会进行动态宽度,如果对该组件不了解的,可以参考:
https://blog.csdn.net/qq_33789001/article/details/117781577 ,在此文中我已经进行了详细的测试和展示了。

根节点,以靠底拉伸的形式:

在这里插入图片描述

背景图全拉伸:
在这里插入图片描述

红黄框上下居中,居左:
在这里插入图片描述

右侧的图片列表(根节点)全拉伸:
在这里插入图片描述

图片列表使用置顶拉伸:

在这里插入图片描述

同时设置Content Size Fitter 高度适配, Grid Layout Group 的 Constraint 为Flexible。

工程

https://download.csdn.net/download/qq_33789001/85415647

猜你喜欢

转载自blog.csdn.net/qq_33789001/article/details/124863522