public void Init(GameObject obj) { LoopListView.ArrangeType = ArrangeType; m_Content = LoopListView.transform.Find("Viewport/Content"); GameObject insObj = Instantiate(obj); ItemName = insObj.name = "Item"; RectTransform rt = insObj.GetComponent <RectTransform>(); rt.anchorMin = new Vector2(0, 1f); rt.anchorMax = new Vector2(0, 1f); rt.pivot = new Vector2(0, 1); insObj.transform.SetParent(m_Content); insObj.transform.localScale = Vector2.one; ItemPrefabConfData itemData = new ItemPrefabConfData(); itemData.mItemPrefab = insObj; itemData.mPadding = SpacingY; itemData.mInitCreateCount = 0; itemData.mStartPosOffset = SpacingX; List <ItemPrefabConfData> list = new List <ItemPrefabConfData>(); list.Add(itemData); LoopListView.mItemPrefabDataList = list; DataManger = new ScrollViewData(); DataManger.TotalDataCount = TotalCount; DataManger.Init(); LoopListView.InitListView(DataManger.TotalDataCount, OnGetItemByIndex); }
public void Init(GameObject obj) { LoopListView.ArrangeType = ArrangeType; m_Content = LoopListView.transform.Find("Viewport/Content"); //滑动列表 Content Rect Rect svRt = m_Content.GetComponent <RectTransform>().rect; ItemName = "Container"; GameObject container = new GameObject(ItemName); //GameObject itemObj = Resources.Load<GameObject>("UIPrefab/Item_01"); GameObject itemObj = obj; Rect itemRect = itemObj.GetComponent <RectTransform>().rect; float height = itemRect.height; RectTransform rt = container.AddComponent <RectTransform>(); rt.sizeDelta = new Vector2(svRt.width, height); row = Mathf.FloorToInt((svRt.width + SpacingX) / (itemRect.width + SpacingX)); for (int i = 0; i < row; i++) { GameObject insObj = Instantiate(itemObj); insObj.transform.SetParent(container.transform); insObj.transform.localScale = Vector2.one; insObj.transform.localPosition = new Vector2(-(svRt.width / 2 - itemRect.width / 2) + i * (itemRect.width + SpacingX), 0); } container.transform.SetParent(m_Content); //container.transform.localPosition = Vector3.zero; container.transform.localScale = Vector3.one; switch (LoopListView.ArrangeType) { case ListItemArrangeType.TopToBottom: case ListItemArrangeType.BottomToTop: rt.anchorMin = new Vector2(0, 1f); rt.anchorMax = new Vector2(0, 1f); rt.pivot = new Vector2(0, 1); break; case ListItemArrangeType.LeftToRight: case ListItemArrangeType.RightToLeft: break; } ItemPrefabConfData itemData = new ItemPrefabConfData(); itemData.mItemPrefab = container; itemData.mPadding = SpacingY; itemData.mInitCreateCount = 0; itemData.mStartPosOffset = SpacingX; List <ItemPrefabConfData> list = new List <ItemPrefabConfData>(); list.Add(itemData); LoopListView.mItemPrefabDataList = list; DataManger = new ScrollViewData(); DataManger.TotalDataCount = TotalCount; int count = DataManger.TotalDataCount / row; if (DataManger.TotalDataCount % row > 0) { count++; } DataManger.Init(); //mLoopListView.InitListView(DataSourceMgr.Get.TotalItemCount, OnGetItemByIndex); LoopListView.InitListView(count, OnGetItemByIndex); }