Exemple #1
0
        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);
        }
Exemple #2
0
 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;
        }
Exemple #7
0
 public TableViewLayoutChangeListener(ITableView tableView)
 {
     this.mCellRecyclerView         = tableView.GetCellRecyclerView();
     this.mColumnHeaderRecyclerView = tableView.GetColumnHeaderRecyclerView();
     this.mCellLayoutManager        = tableView.GetCellLayoutManager();
 }