切换标签

This commit is contained in:
xmac
2025-05-23 11:48:20 +08:00
parent 4b7a6b1dc8
commit 0c44f985ec
31 changed files with 295 additions and 111 deletions

View File

@@ -18,7 +18,7 @@ namespace NBF
[AutoFind(Name = "divisionLine")]
public GImage divisionLine;
[AutoFind(Name = "List")]
public GList List;
public ClassifyList List;
public override string[] GetDependPackages(){ return new string[] {"Common"}; }

View File

@@ -7,22 +7,20 @@ using UIPanel = NBC.UIPanel;
namespace NBF
{
public class ListDataBase
public class ShopGearData
{
public string title;
}
public class ShopGearData : ListDataBase
{
}
public partial class FishingShopPanel : UIPanel
{
public override string UIPackName => "Shop";
public override string UIResName => "FishingShopPanel";
private List<ListDataBase> _data = new List<ListDataBase>();
private List<TabListData> _tabList = new List<TabListData>();
protected override void OnInit()
{
base.OnInit();
@@ -31,58 +29,26 @@ namespace NBF
for (int i = 0; i < 10; i++)
{
var data = new ListDataBase();
data.title = "Title" + i;
_data.Add(data);
for (int j = 0; j < 30; j++)
{
var item = new ShopGearData();
item.title = $"Item {i}-" + j;
_data.Add(item);
}
var itemData = new TabListData();
itemData.AddTestData(i);
_tabList.Add(itemData);
}
// List.SetVirtual();
List.itemProvider = GetListItemResource;
List.itemRenderer = OnRenderItem;
List.numItems = _data.Count;
Menu.OnTabChange += ChangeTab;
}
protected override void OnShow()
{
base.OnShow();
Menu.SetTabs(_tabList);
}
void OnRenderItem(int index, GObject obj)
private void ChangeTab(int index)
{
if (obj is ListTitleItem titleItem)
{
titleItem.width = List.width - 60;
titleItem.height = 47;
}
// else
// {
// obj.width = 224;
// obj.height = 320;
// }
}
//根据索引的不同返回不同的资源URL
string GetListItemResource(int index)
{
var itemData = _data[index];
if (itemData is ShopGearData shopItem)
{
return ShopGearItem.URL;
}
if (itemData is ListDataBase item)
{
return ListTitleItem.URL;
}
return List.defaultItem;
Log.Info($"Change tab index={index}");
var listData = _tabList[index];
List.SetListData(listData.ListData);
}
private void OnClick(GComponent btn)

View File

@@ -6,10 +6,18 @@ using NBC;
namespace NBF
{
public partial class ShopGearItem : GButton
public partial class ShopGearItem : ListItemBase
{
public ShopGearData GearData;
private void OnInited()
{
}
protected override void OnSetData(object showData)
{
GearData = showData as ShopGearData;
if(GearData == null) return;
title = GearData.title;
}
}
}