public void Calc(Rect position, Vector2 contentOffset, Vector2 scroll, float rowHeight, int rowCount, ListViewCalculator.ColumnSetting[] setting) { this.position = position; float Mutl = titleRowOffsetY + 1; titleRow = new ListViewCalculator.Row() { height = rowHeight, rowID = 0, position = new Rect(position.x, position.y, position.width, rowHeight * Mutl) }; ListViewCalculator.ColumnSetting[] Tsetting = new ListViewCalculator.ColumnSetting[setting.Length]; for (int i = 0; i < Tsetting.Length; i++) { Tsetting[i] = new ListViewCalculator.ColumnSetting() { width = setting[i].width, name = setting[i].name, offsetX = setting[i].titleoffsetX, offSetY = -titleRowOffsetY * rowHeight, anchorType = setting[i].titleAnchorType, titleAnchorType = setting[i].titleAnchorType }; } titleRow.Calc(Tsetting); titleRow.CalacLocal(new Rect(position.x, position.y, position.width, rowHeight * Mutl)); if (view.width > titleRow.width) { float offset = view.width - titleRow.width; titleRow.width += offset; titleRow.localPostion.width += offset; titleRow.columns[titleRow.ColumnCount - 1].position.width += offset; titleRow.columns[titleRow.ColumnCount - 1].localPostion.width += offset; } for (int i = 0; i < titleRow.ColumnCount; i++) { ListViewCalculator.Column item = titleRow.columns[i]; item.position.x -= scroll.x; item.localPostion.x -= scroll.x; } titleRow.position.x = view.x; titleRow.position.width = view.width; _listView.Calc(new Rect(position.x, position.y + rowHeight * Mutl, position.width, position.height - rowHeight), contentOffset, scroll, rowHeight, rowCount, setting); _listView.view.height -= titleRowOffsetY * rowHeight; }
public void Calc(Rect position, Vector2 contentOffset, Vector2 scroll, float rowHeight, int rowCount, ListViewCalculator.ColumnSetting[] setting) { this.Position = position; float Mutl = TitleRowOffsetY + 1; TitleRow = new ListViewCalculator.Row() { Height = rowHeight, RowID = 0, Position = new Rect(position.x, position.y, position.width, rowHeight * Mutl) }; ListViewCalculator.ColumnSetting[] Tsetting = new ListViewCalculator.ColumnSetting[setting.Length]; for (int i = 0; i < Tsetting.Length; i++) { Tsetting[i] = new ListViewCalculator.ColumnSetting() { Width = setting[i].Width, Name = setting[i].Name, OffsetX = setting[i].TitleoffsetX, OffSetY = -TitleRowOffsetY * rowHeight, AnchorType = setting[i].TitleAnchorType, TitleAnchorType = setting[i].TitleAnchorType }; } TitleRow.Calc(Tsetting); TitleRow.CalacLocal(new Rect(position.x, position.y, position.width, rowHeight * Mutl)); if (View.width > TitleRow.Width) { float offset = View.width - TitleRow.Width; TitleRow.Width += offset; TitleRow.LocalPostion.width += offset; TitleRow.Columns[TitleRow.ColumnCount - 1].Position.width += offset; TitleRow.Columns[TitleRow.ColumnCount - 1].LocalPostion.width += offset; } for (int i = 0; i < TitleRow.ColumnCount; i++) { ListViewCalculator.Column item = TitleRow.Columns[i]; item.Position.x -= scroll.x; item.LocalPostion.x -= scroll.x; } TitleRow.Position.x = View.x; TitleRow.Position.width = View.width; ListView.Calc(new Rect(position.x, position.y + rowHeight * Mutl, position.width, position.height - rowHeight), contentOffset, scroll, rowHeight, rowCount, setting); ListView.View.height -= TitleRowOffsetY * rowHeight; }