Unity 进阶 之 UGUI 实现动态数据动态翻页显示效果的简单封装(动态更新数据动态更新显示,包括页码和按钮事件等功能)
目录
Unity 进阶 之 UGUI 实现动态数据动态翻页显示效果的简单封装(动态更新数据动态更新显示,包括页码和按钮事件等功能)
一、简单介绍
Unity中的一些知识点整理。
本节简单介绍简单实现翻页的封装,然后就可以动态传入数据动态更新显示了,功能封装,重复使用,这里只是简单封装,基本功能已实现,其他功能拓展,根据需要修改即可,如果你有新的方式也可以留言,多谢。
二、实现原理
1、接口传数据,传入指定UI,设置相关事件(按钮事件),然后接口,你们自行处理一些 Item 生成,对应事件添加;
2、接口封装,做了每页显示几个 item,对应的页码生成,对应翻页按钮翻页功能与显隐,等都统一处理了;
三、注意事项
1、本案例只是简单封装,实现基本翻页显示数据功能,如果需要额外功能,可以自行添加和修改
2、本案例仅做参考学习
四、效果预览
五、实现步骤
1、打开 Unity,新建空工程
2、简单步骤场景,实现翻页的大致布局
3、在工程中编写脚本,实现对应功能
4、创建预制体(这里设置是Button按钮),并挂载创建的 Item 脚本
5、对应挂载测试脚本到场景中,并对应赋值
6、运行场景,按下 A S D 分别动态切换数据,效果如上
六、关键代码
1、TestMultiPageItemSelectSimpleWrapper
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using XANTools;
namespace TestSpace
{
public class TestMultiPageItemSelectSimpleWrapper : MonoBehaviour
{
public GameObject itemPrefab;
public Transform gridTrans;
public Text pageText;
public Text noDataTipText;
public Button leftPageButton;
public Button rightPageButton;
// Item 和 String 列表 List 数据
MultiPageItemSelectWrapper<Item, string> mMultiPageItemSelectWrapper;
// Start is called before the first frame update
void Start()
{
mMultiPageItemSelectWrapper = new MultiPageItemSelectWrapper<Item, string>();
Test0();
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
Test1();
}else if (Input.GetKeyDown(KeyCode.S))
{
Test2();
}
else if (Input.GetKeyDown(KeyCode.D))
{
Test3();
}
}
void Test0()
{
List<string> tsLst = new List<string>();
tsLst.Add("Pair");
tsLst.Add("Apple");
tsLst.Add("Banana");
Set(tsLst);
}
void Test1() {
List<string> tsLst = new List<string>();
tsLst.Add("1");
tsLst.Add("2");
tsLst.Add("3");
tsLst.Add("4");
tsLst.Add("5");
tsLst.Add("6");
tsLst.Add("7");
Set(tsLst);
}
void Test2()
{
List<string> tsLst = new List<string>();
Set(tsLst);
}
void Test3()
{
List<string> tsLst =