public virtual AbstractViewHolder[] GetVisibleViewHolders() { int visibleChildCount = FindLastVisibleItemPosition() - FindFirstVisibleItemPosition() + 1; int index = 0; AbstractViewHolder[] views = new AbstractViewHolder[visibleChildCount]; for (int i = FindFirstVisibleItemPosition(); i < FindLastVisibleItemPosition() + 1; i++) { views[index] = (AbstractViewHolder)mTableView.GetColumnHeaderRecyclerView().FindViewHolderForAdapterPosition(i); index++; } return(views); }
public SelectionHandler(ITableView tableView) { this.mTableView = tableView; this.mColumnHeaderRecyclerView = mTableView.GetColumnHeaderRecyclerView(); this.mRowHeaderRecyclerView = mTableView.GetRowHeaderRecyclerView(); this.mCellLayoutManager = mTableView.GetCellLayoutManager(); }
public HorizontalRecyclerViewListener(ITableView tableView) { // X position means column position this.mColumnHeaderRecyclerView = tableView.GetColumnHeaderRecyclerView(); this.mCellLayoutManager = tableView.GetCellRecyclerView().GetLayoutManager(); this.mVerticalRecyclerViewListener = tableView.GetVerticalRecyclerViewListener(); }
public ColumnSortHandler(ITableView tableView) { this.mCellRecyclerViewAdapter = (CellRecyclerViewAdapter)tableView.GetCellRecyclerView().GetAdapter(); this.mRowHeaderRecyclerViewAdapter = (RowHeaderRecyclerViewAdapter)tableView.GetRowHeaderRecyclerView().GetAdapter(); this.mColumnHeaderRecyclerViewAdapter = (ColumnHeaderRecyclerViewAdapter)tableView.GetColumnHeaderRecyclerView().GetAdapter(); AddColumnSortStateChangedListener(this); }
public ColumnLayoutManager(Context context, ITableView tableView) : base(context) { this.mTableView = tableView; this.mColumnHeaderRecyclerView = mTableView.GetColumnHeaderRecyclerView(); this.mColumnHeaderLayoutManager = mTableView.GetColumnHeaderLayoutManager(); this.mCellLayoutManager = mTableView.GetCellLayoutManager(); // Set default orientation this.Orientation = Horizontal; //If you are using a RecyclerView.RecycledViewPool, it might be a good idea to set this // flag to true so that views will be available to other RecyclerViews immediately. this.RecycleChildrenOnDetach = true; }
/// <summary>Alternative method of fitWidthSize().</summary> /// <remarks> /// Alternative method of fitWidthSize(). /// The main difference is this method works after main thread draw the ui components. /// </remarks> public virtual void FitWidthSize2(bool scrollingLeft) { // The below line helps to change left & right value of the each column // header views // without using requestLayout(). mColumnHeaderLayoutManager.CustomRequestLayout(); // Get the right scroll position information from Column header RecyclerView int columnHeaderScrollPosition = mTableView.GetColumnHeaderRecyclerView().GetScrolledX(); int columnHeaderOffset = mColumnHeaderLayoutManager.GetFirstItemLeft(); int columnHeaderFirstItem = mColumnHeaderLayoutManager.FindFirstVisibleItemPosition(); // Fit all visible columns widths for (int i = mColumnHeaderLayoutManager.FindFirstVisibleItemPosition(); i < mColumnHeaderLayoutManager.FindLastVisibleItemPosition() + 1; i++) { FitSize2(i, scrollingLeft, columnHeaderScrollPosition, columnHeaderOffset, columnHeaderFirstItem); } mNeedSetLeft = false; }
public TableViewLayoutChangeListener(ITableView tableView) { this.mCellRecyclerView = tableView.GetCellRecyclerView(); this.mColumnHeaderRecyclerView = tableView.GetColumnHeaderRecyclerView(); this.mCellLayoutManager = tableView.GetCellLayoutManager(); }