Unity Scroll View使用

问题:

很多时候我们需要在一个scroll view里面,content的大小随内容的大小变换,同时content还要使用layout group来使下面保持一定的规格排列,比如上面的vertical layout group,再同时,还需要下面的子物体的大小随自己的子内容来动态改变

例如聊天框 便捷任务框

 

之前我想只用这两种方式来解决,后来发现,使用layout group之后子物体不能再使用content size fitter,虽然在editor状态是没问题的,但是动态生成之后,会产生布局混乱的状态,后来我用代码计算宽度手动设置,但是这种方法太蠢,再查询了很多资料后,找到了一种完美的解决方案

把Child Controls Size你想要自动控制大小的宽或高 勾上

 

 

把Content Size Fitter去掉

    public GameObject obj;
 
    // Use this for initialization
    void Start () {
        GameObject obj1 = Instantiate(obj, transform);
        obj1.GetComponentInChildren<Text>().text = "asddddddddddddddddddddddddddddddddddd";
        GameObject obj2 = Instantiate(obj, transform);
        obj2.GetComponentInChildren<Text>().text = "asddddddddddddddddddddddddddddddddddasdfsafadssaaaaaaaaaad";
        GameObject obj3 = Instantiate(obj, transform);
        obj3.GetComponentInChildren<Text>().text = "asddddddddddddd";
        GameObject obj4 = Instantiate(obj, transform);
        obj4.GetComponentInChildren<Text>().text = "asddddddddddddddd4444444444444444444444444ssssssssssssssssssssdddddddddddddddddddd";
        GameObject obj5 = Instantiate(obj, transform);
        obj4.GetComponentInChildren<Text>().text = "asddddddddddddddddddd";
        GameObject obj6 = Instantiate(obj, transform);
        obj4.GetComponentInChildren<Text>().text = "asddddd\n一二三\nCoder";


    }

 

 

 

实现效果,类似于聊天室

 

------------------9.29更新--------------------------

稍微复杂一点的布局

发现layout group有这样一个特性,

 

当scale为1的时候才会完全对齐,否则会按照scale为1留下空位置

当使用字体的时候,很多情况会使用放大字体同时缩小scale的情况来使字体看的更清晰,

 

所以就需要这种父物体来控制布局,子物体来控制显示的方式

还可以使用layout element来控制忽视布局

单独控制scroll view的宽高

各个面板

 

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

重点:熟练使用scroll view的要点是理解 layout group 、content size fitter、 layout element 这三个组件
————————————————
版权声明:本文为CSDN博主「懒羊羊爱大便」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33413868/article/details/82783057

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值