12月20日新增
增加一个可收缩的滑动列表,适用于游戏中的任务系统,成就等
使用说明
创建时需要两个模板slot,一个是button,另一个则是btn下显示的cell
配置如下图添加ExpandableView
脚本,新增的IsDefaultExpand用来控制是否展开
11月28日新增
增加可调节的顶部间隙和左侧间隙
采用 缓存池+存储布局坐标 实现的一个可横向或纵向滑动的无限滑动列表
Demo展示:
功能支持:
可以满足大部分如背包,商店商城,工具栏,任务栏窗口等列表功能
- 支持整个列表刷新或单个对象刷新
- 支持横向多行滑动,可设置行数,左右间隔大小
- 支持纵向多行滑动,可设置行数,左右间隔大小
- 支持通过列表索引定位到列表中的某一位置
- 可以作为基本扩展
- 详细可看源码…
案例测试:
导入Package后的目录结构如下,打开MainDemo场景
场景上有一个TestScript节点挂在了脚本 RecycleViewTest.cs,默认配置了1000个数据和通过索引定位到966位置(暗示上班时常),此处可以修改启动游戏测试。实际开发中,可以参照该脚本中的方法调用对滑动列表进行初始化。
使用方法:
在你制作好的scrollview上挂载脚本 RecycleView.cs,并且详细参数进行设置,如下图:
目前最大支持10行或10列,如果需要配置更多行,则需要去脚本RecycleViewEditor.cs中找到行列设置参数lines进行修改
rv.lines = EditorGUILayout.IntSlider("Row Or Column", rv.lines, 1, 10);
生成你的滑动列表的必要三个步骤:
- 持有RecycleView对象rv,并注册回调函数 rv.Init(callBackFunc)
- 刷新整个列表(首次调用和数量变化时调用): ShowList(int count)
- 在回调函数中做具体的显示,操作等 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)
{
// 在该方法中做具体的逻辑
}
资源地址:
GitHub:RecycleViewSample文章来源:https://www.toymoban.com/news/detail-803442.html
git clone https://github.com/wankcn/RecycleViewSample.git
git clone git@github.com:wankcn/RecycleViewSample.git
CSDN站内资源:RecycleView.unitypackage文章来源地址https://www.toymoban.com/news/detail-803442.html
到了这里,关于Unity实现一个可扩展的UGUI无限滑动列表控件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!