Unity滚动列表Mark

背景图片 和滚动区域图片

在滚动区域图片上添加Scroll Rect

添加Scrollbar 方向设置为bottom to top

设置好scrollbar大小 和handle与锚点的匹配


在ScrollRect 下创建空物体layout 铺满ScrollRect 设置好中心点 在layout上添加vertical layout group管理列表内物品


创建列表内物品的预制体 创建ShopItem


设置layout上的vertical layout group 取消勾选height 



ScrollRect上面添加 mask组件进行遮罩调整scrollRect显示的范围,layout的大小要根据layout下item显示的大小用代码进行控制,同时scrollRect上的content设置为layout

     


设置Scrollbar 的value 和size


写代码对layout大小进行控制。

foreach (Item item in ShopItemList)
        {
            GameObject go=GameObject.Instantiate(ShopItemPrefab);
            go.transform.SetParent(Layout,false);
            
            go.GetComponent<ShopItem>().AddAShopItem(item);
            go.GetComponent<ShopItem>().ShowAShopItem();
        }
        
        
        int shopItemCount = ShopItemList.Count;
        Vector2 size = Layout.GetComponent<RectTransform>().sizeDelta;
        Layout.GetComponent<RectTransform>().sizeDelta = new Vector2(size.x,
            shopItemCount * (ShopItemPrefab.GetComponent<RectTransform>().sizeDelta.y + 5f));//space




        ShopScrollBar.value = 1;


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity 无限滚动列表是一种常见的UI设计模式,用于在有大量数据的情况下,动态加载和显示列表项,以实现更好的性能和用户体验。 实现无限滚动列表需要以下步骤: 1. 创建一个包含UI元素(例如图标、文本块等)的列表项模板。 2. 创建一个容器对象,用于容纳列表项。这个容器对象可以是 ScrollView 或者使用 Unity 的 UI 布局组件。 3. 在启动时,初始化列表。通常会加载一部分列表项并显示在容器中,同时记录当前显示的第一个和最后一个列表项的索引。 4. 监听滚动事件。当滚动发生时,根据滚动的方向(向上或向下),动态地加载和显示新的列表项。 5. 当滚动到顶部时,加载并显示上一批新的列表项,并删除容器中最后一个列表项。 6. 当滚动到底部时,加载并显示下一批新的列表项,并删除容器中第一个列表项。 7. 重复第4至第6步,直到所有列表项都被加载和显示。 在实现无限滚动列表时,可以使用对象池来优化性能。对象池可以缓存已经创建的列表项对象,而不是每次滚动时都创建新的对象。这样可以避免频繁的对象创建和销毁,提高性能。 此外,还可以将无限滚动列表与数据源绑定,以便在滚动时动态从数据源中加载数据。这样可以实现更高效地处理大量数据的功能。 总而言之,Unity 无限滚动列表是一种非常有用的UI设计模式,可以在处理大量数据时提高性能和用户体验。通过合理的实现和优化,可以实现一个流畅且高效的无限滚动列表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值