private void refreshHeaderRowViewHolder(ViewHolder holder) {
        int top = mManager.getRowsHeight(0, Math.max(0, holder.getRowIndex())) + mManager.getHeaderColumnHeight();
        int left = calculateRowHeadersLeft();
        if (isRTL()) {
            left += mSettings.getCellMargin();
        }
        View view = holder.getItemView();

        int leftMargin = holder.getColumnIndex() * mSettings.getCellMargin() + mSettings.getCellMargin();
        int topMargin = holder.getRowIndex() * mSettings.getCellMargin() + mSettings.getCellMargin();

        if (holder.isDragging() && mDragAndDropPoints.getOffset().y > 0) {
            top = mState.getScrollY() + mDragAndDropPoints.getOffset().y - view.getHeight() / 2;
            view.bringToFront();
        }
        if (holder.isDragging()) {
            View topShadow = mShadowHelper.getTopShadow();
            View bottomShadow = mShadowHelper.getBottomShadow();

            if (topShadow != null) {
                int shadowTop = top - mState.getScrollY();
                topShadow.layout(0,
                        Math.max(mManager.getHeaderColumnHeight() - mState.getScrollY(), shadowTop - SHADOW_THICK) + topMargin,
                        mSettings.getLayoutWidth(),
                        shadowTop + topMargin);
                topShadow.bringToFront();
            }

            if (bottomShadow != null) {
                int shadowBottom = top - mState.getScrollY() + mManager.getRowHeight(holder.getRowIndex());
                bottomShadow.layout(
                        0,
                        Math.max(mManager.getHeaderColumnHeight() - mState.getScrollY(), shadowBottom) + topMargin,
                        mSettings.getLayoutWidth(),
                        shadowBottom + SHADOW_THICK + topMargin);

                bottomShadow.bringToFront();
            }
        }

        //noinspection ResourceType
        view.layout(left + leftMargin * (isRTL() ? 0 : 1),
                top - mState.getScrollY() + topMargin,
                left + mManager.getHeaderRowWidth() + leftMargin * (isRTL() ? 1 : 0),
                top + mManager.getRowHeight(holder.getRowIndex()) - mState.getScrollY() + topMargin);

        if (mState.isColumnDragging()) {
            view.bringToFront();
        }

        if (!mState.isRowDragging()) {
            View shadow = mShadowHelper.getRowsHeadersShadow();

            if (shadow == null) {
                shadow = mShadowHelper.addRowsHeadersShadow(this);
            }

            int shadowStart, shadowEnd;
            shadowStart = !isRTL() ? view.getRight() : view.getLeft() - SHADOW_HEADERS_THICK;
            shadowEnd = shadowStart + SHADOW_HEADERS_THICK;

            shadow.layout(shadowStart,
                    mState.isColumnDragging() ? 0 :
                            mSettings.isHeaderFixed() ? 0 : -mState.getScrollY(),
                    shadowEnd,
                    mSettings.getLayoutHeight());

            shadow.bringToFront();
        }
    }
private void refreshHeaderRowViewHolder ( ViewHolder holder ) { int top = mManager . getRowsHeight ( 0 , Math . max ( 0 , holder . getRowIndex ( ) ) ) + mManager . getHeaderColumnHeight ( ) ; int left = calculateRowHeadersLeft ( ) ; if ( isRTL ( ) ) { left += mSettings . getCellMargin ( ) ; } View view = holder . getItemView ( ) ; int leftMargin = holder . getColumnIndex ( ) * mSettings . getCellMargin ( ) + mSettings . getCellMargin ( ) ; int topMargin = holder . getRowIndex ( ) * mSettings . getCellMargin ( ) + mSettings . getCellMargin ( ) ; if ( holder . isDragging ( ) && mDragAndDropPoints . getOffset ( ) . y > 0 ) { top = mState . getScrollY ( ) + mDragAndDropPoints . getOffset ( ) . y - view . getHeight ( ) / 2 ; view . bringToFront ( ) ; } if ( holder . isDragging ( ) ) { View topShadow = mShadowHelper . getTopShadow ( ) ; View bottomShadow = mShadowHelper . getBottomShadow ( ) ; if ( topShadow != null ) { int shadowTop = top - mState . getScrollY ( ) ; topShadow . layout ( 0 , Math . max ( mManager . getHeaderColumnHeight ( ) - mState . getScrollY ( ) , shadowTop - SHADOW_THICK ) + topMargin , mSettings . getLayoutWidth ( ) , shadowTop + topMargin ) ; topShadow . bringToFront ( ) ; } if ( bottomShadow != null ) { int shadowBottom = top - mState . getScrollY ( ) + mManager . getRowHeight ( holder . getRowIndex ( ) ) ; bottomShadow . layout ( 0 , Math . max ( mManager . getHeaderColumnHeight ( ) - mState . getScrollY ( ) , shadowBottom ) + topMargin , mSettings . getLayoutWidth ( ) , shadowBottom + SHADOW_THICK + topMargin ) ; bottomShadow . bringToFront ( ) ; } } view . layout ( left + leftMargin * ( isRTL ( ) ? 0 : 1 ) , top - mState . getScrollY ( ) + topMargin , left + mManager . getHeaderRowWidth ( ) + leftMargin * ( isRTL ( ) ? 1 : 0 ) , top + mManager . getRowHeight ( holder . getRowIndex ( ) ) - mState . getScrollY ( ) + topMargin ) ; if ( mState . isColumnDragging ( ) ) { view . bringToFront ( ) ; } if ( ! mState . isRowDragging ( ) ) { View shadow = mShadowHelper . getRowsHeadersShadow ( ) ; if ( shadow == null ) { shadow = mShadowHelper . addRowsHeadersShadow ( this ) ; } int shadowStart , shadowEnd ; shadowStart = ! isRTL ( ) ? view . getRight ( ) : view . getLeft ( ) - SHADOW_HEADERS_THICK ; shadowEnd = shadowStart + SHADOW_HEADERS_THICK ; shadow . layout ( shadowStart , mState . isColumnDragging ( ) ? 0 : mSettings . isHeaderFixed ( ) ? 0 : - mState . getScrollY ( ) , shadowEnd , mSettings . getLayoutHeight ( ) ) ; shadow . bringToFront ( ) ; } }
Refresh current row header view holder.

@param holder current view holder