切换标签
This commit is contained in:
@@ -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"}; }
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user