• Unity实现一个可扩展的UGUI无限滑动列表控件


    12月20日新增

    增加一个可收缩的滑动列表,适用于游戏中的任务系统,成就等
    在这里插入图片描述
    使用说明

    创建时需要两个模板slot,一个是button,另一个则是btn下显示的cell

    配置如下图添加ExpandableView脚本,新增的IsDefaultExpand用来控制是否展开

    11月28日新增

    增加可调节的顶部间隙和左侧间隙
    在这里插入图片描述

    采用 缓存池+存储布局坐标 实现的一个可横向或纵向滑动的无限滑动列表

    Demo展示:

    在这里插入图片描述

    功能支持:

    可以满足大部分如背包,商店商城,工具栏,任务栏窗口等列表功能

    • 支持整个列表刷新或单个对象刷新
    • 支持横向多行滑动,可设置行数,左右间隔大小
    • 支持纵向多行滑动,可设置行数,左右间隔大小
    • 支持通过列表索引定位到列表中的某一位置
    • 可以作为基本扩展
    • 详细可看源码…

    案例测试:

    导入Package后的目录结构如下,打开MainDemo场景

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2wYB6LXE-1668740868971)(C:\Users\Admin\AppData\Roaming\Typora\typora-user-images\image-20221118105458449.png)]

    场景上有一个TestScript节点挂在了脚本 RecycleViewTest.cs,默认配置了1000个数据和通过索引定位到966位置(暗示上班时常),此处可以修改启动游戏测试。实际开发中,可以参照该脚本中的方法调用对滑动列表进行初始化。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-orORbjhN-1668740868972)(C:\Users\Admin\AppData\Roaming\Typora\typora-user-images\image-20221118105153293.png)]

    使用方法:

    在你制作好的scrollview上挂载脚本 RecycleView.cs,并且详细参数进行设置,如下图:

    在这里插入图片描述

    目前最大支持10行或10列,如果需要配置更多行,则需要去脚本RecycleViewEditor.cs中找到行列设置参数lines进行修改

    rv.lines = EditorGUILayout.IntSlider("Row Or Column", rv.lines, 1, 10);
    
    • 1

    生成你的滑动列表的必要三个步骤

    1. 持有RecycleView对象rv,并注册回调函数 rv.Init(callBackFunc)
    2. 刷新整个列表(首次调用和数量变化时调用): ShowList(int count)
    3. 在回调函数中做具体的显示,操作等 Func(GameObject cell, int index)

    示例代码:

    public RecycleView VerticalScroll; // 持有对象
    
    void Start()
    {
        StartScrollView();
    }
    
    public void StartScrollView()
    {
        VerticalScroll.Init(NormalCallBack); // 注册回调
        VerticalScroll.ShowList(ListCount);  // 刷新列表
    }
    
    private void NormalCallBack(GameObject cell, int index)
    {
        // 在该方法中做具体的逻辑
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    资源地址:

    GitHub:RecycleViewSample

    git clone https://github.com/wankcn/RecycleViewSample.git
    
    • 1
    git clone git@github.com:wankcn/RecycleViewSample.git
    
    • 1

    CSDN站内资源:RecycleView.unitypackage

  • 相关阅读:
    智己让上汽的高端梦第一次落地
    性能测试基本流程
    jvm实践
    macos知名的清理软件 cleanmymac和腾讯柠檬哪个好 cleanmymacx有必要买吗
    Web UI自动化测试专栏博客汇总
    (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
    微信小程序自动化测试pytest版工具使用方法
    使用spring gateway配置网关服务实现简单的路由转发
    什么牌子的蓝牙耳机耐用又便宜?好用的蓝牙耳机品牌推荐
    大数据学习笔记1.3 Linux用户操作
  • 原文地址:https://blog.csdn.net/wankcn/article/details/127918614