最近在项目中用到了翻页,因为数据特别多。自己尝试写了一个,希望能够对大家有所帮助,里边都有注释,如果有不对的地方,可以私信我,我来改正。
实现的效果和下边的图片差不多
1、总页数小于等于7的时候就行全部显示
2、当页码大于7的时候,前边的5个数字直接显示,省略号,然后是总页数,左右翻页的按钮也会显示出来
点击省略号可以加5页
3、当页码足够多的时候,点击进行翻页时会显示成这个样子
在下方的输入框中输入自己想要看的数据的页码,点击跳转,可以直接跳转到这个界面。
====================Prefect====================
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 进行翻页
/// </summary>
public class Test : MonoBehaviour
{
public Text[] SevenText;//七个页码
public Button[] SevenBtn;//七个按钮
public Button LeftBtn;//左侧的按钮
public Button RightBtn;//右侧的按钮
public int CurrentAllPage;//一共有多少页
public InputField InputNumber;//输入的页码(要跳转的页码)
public InputField AllPageNumber;//总页码(用于测试)
public void Btn_Jump()
{
if (string.IsNullOrEmpty(InputNumber.text))
{
Debug.Log("输入框的内容为空");
return;
}
if (CurrentAllPage >= (int.Parse)(InputNumber.text) && (int.Parse)(InputNumber.text) >= 1)
AskPage = (int.Parse)(InputNumber.text);
else
{
Debug.Log("当前最大的页码为" + CurrentAllPage);
return;
}
RefreshAgain();
InputNumber.text = "";
}
// Use this for initialization
void Start()
{
CurrentAllPage = 11;
AskPage = 1;
RefreshAgain();
}
public void Btn_RefreshTest()
{
if (string.IsNullOrEmpty(AllPageNumber.text) || (int.Parse)(AllPageNumber.text) <= 0)
{
Debug.Log("输入的页码不对");
return;
}
else
{
CurrentAllPage = (int.Parse)(AllPageNumber.text);
Debug.Log("当前的总页数为" + CurrentAllPage);
}