SetVirtual() public method

Set the list to be virtual list. 设置列表为虚拟列表模式。在虚拟列表模式下,列表不会为每一条列表数据创建一个实体对象,而是根据视口大小创建最小量的显示对象,然后通过itemRenderer指定的回调函数设置列表数据。 在虚拟模式下,你不能通过AddChild、RemoveChild等方式管理列表,只能通过设置numItems设置列表数据的长度。 如果要刷新列表,可以通过重新设置numItems,或者调用RefreshVirtualList完成。 ‘单行’或者‘单列’的列表布局可支持不等高的列表项目。 除了‘页面’的列表布局,其他布局均支持使用不同资源构建列表项目,你可以在itemProvider里返回。如果不提供,默认使用defaultItem。
public SetVirtual ( ) : void
return void
示例#1
0
 static public int SetVirtual(IntPtr l)
 {
     try {
         FairyGUI.GList self = (FairyGUI.GList)checkSelf(l);
         self.SetVirtual();
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
示例#2
0
    void Start()
    {
        Application.targetFrameRate = 60;
        Stage.inst.onKeyDown.Add(OnKeyDown);

        //GComponent g1 = GameObject.Find("UIPanel1").GetComponent<UIPanel>().ui;

        GComponent g2 = GameObject.Find("UIPanel2").GetComponent<UIPanel>().ui;
        _list = g2.GetChild("mailList").asList;
        _list.SetVirtual();
        _list.itemRenderer = (int index, GObject obj) => { obj.text = index + " Mail title here"; };
        _list.numItems = 20;
    }
 static int SetVirtual(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         FairyGUI.GList obj = (FairyGUI.GList)ToLua.CheckObject(L, 1, typeof(FairyGUI.GList));
         obj.SetVirtual();
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#4
0
    void Start()
    {
        Application.targetFrameRate = 60;
        Stage.inst.onKeyDown.Add(OnKeyDown);

        _mainView = this.GetComponent<UIPanel>().ui;
        _mainView.GetChild("n6").onClick.Add(() => { _list.AddSelection(500, true); });
        _mainView.GetChild("n7").onClick.Add(() => { _list.scrollPane.ScrollTop(); });
        _mainView.GetChild("n8").onClick.Add(() => { _list.scrollPane.ScrollBottom(); });

        _list = _mainView.GetChild("mailList").asList;
        _list.SetVirtual();

        _list.itemRenderer = RenderListItem;
        _list.numItems = 1000;
    }
    void Start()
    {
        Application.targetFrameRate = 60;
        GRoot.inst.SetContentScaleFactor(1136, 640);
        Stage.inst.onKeyDown.Add(OnKeyDown);

        UIPackage.AddPackage("UI/Perspective");

        _mainView = UIPackage.CreateObject("Perspective", "Main").asCom;
        _mainView.AddRelation(GRoot.inst, RelationType.Size);
        GRoot.inst.AddChild(_mainView);

        //GComponent g1 = GameObject.Find("UIPanel1").GetComponent<UIPanel>().ui;

        GComponent g2 = GameObject.Find("UIPanel2").GetComponent<UIPanel>().ui;
        _list = g2.GetChild("mailList").asList;
        _list.SetVirtual();
        _list.itemRenderer = (int index, GObject obj) => { obj.text = index + " Mail title here"; };
        _list.numItems = 20;
    }
    void Start()
    {
        Application.targetFrameRate = 60;
        Stage.inst.onKeyDown.Add(OnKeyDown);

        _itemURL1 = UIPackage.GetItemURL("EmojiPro", "chatLeft");
        _itemURL2 = UIPackage.GetItemURL("EmojiPro", "chatRight");

        _messages = new List<Message>();

        _mainView = this.GetComponent<UIPanel>().ui;

        _list = _mainView.GetChild("list").asList;
        _list.defaultItem = _itemURL1;
        _list.SetVirtual();
        _list.itemProvider = GetListItemResource;
        _list.itemRenderer = RenderListItem;

        _input = _mainView.GetChild("input").asTextInput;
        _input.onKeyDown.Add(__inputKeyDown);

        //作为demo,这里只添加了部分表情素材
        _emojies = new Dictionary<uint, Emoji>();
        for (uint i = 0x1f600; i < 0x1f637; i++)
        {
            string url = UIPackage.GetItemURL("EmojiPro", Convert.ToString(i, 16));
            if (url != null)
                _emojies.Add(i, new Emoji(url));
        }
        _input.emojies = _emojies;

        _mainView.GetChild("btnSend").onClick.Add(__clickSendBtn);
    }
示例#7
0
    void Start()
    {
        _mainView = this.GetComponent<UIPanel>().ui;

        _list = _mainView.GetChild("list").asList;
        _list.itemRenderer = RenderListItem;
        _list.SetVirtual();
        _list.numItems = 1000;
        _list.onTouchBegin.Add(OnClickList);

        _mainView.GetChild("box").asCom.onDrop.Add(OnDrop);

        LongPressGesture gesture = new LongPressGesture(_list);
        gesture.once = true;
        gesture.trigger = 1f;
        gesture.onAction.Add(OnLongPress);
    }