Example usage for android.support.v4.view ViewCompat canScrollVertically

List of usage examples for android.support.v4.view ViewCompat canScrollVertically

Introduction

In this page you can find the example usage for android.support.v4.view ViewCompat canScrollVertically.

Prototype

public static boolean canScrollVertically(View v, int direction) 

Source Link

Document

Check if this view can be scrolled vertically in a certain direction.

Usage

From source file:com.harry.refresh.SwipyRefreshLayout.java

/**
 * @return Whether it is possible for the child view of this layout to
 * scroll up. Override this if the child view is a custom view.
 *///  w ww  .  j av a2s .  c om
public boolean canChildScrollUp() {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
            return absListView.getChildCount() > 0
                    && (absListView.getFirstVisiblePosition() > 0 || absListView.getChildAt(0)
                    .getTop() < absListView.getPaddingTop());
        } else {
            return mTarget.getScrollY() > 0;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, -1);
    }
}

From source file:com.tuniu.widget.SwipeRefreshLayout.java

/**
 * @return Whether it is possible for the child view of this layout to
 *         scroll down. Override this if the child view is a custom view.
 *///w  ww  . j  a  va2  s  . c  o m
public boolean canChildScrollDown() {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
            return absListView.getChildCount() > 0 && (absListView.getFirstVisiblePosition() > 0
                    || absListView.getChildAt(0).getTop() < absListView.getPaddingTop());
        } else {
            return ViewCompat.canScrollVertically(mTarget, 1) || mTarget.getScrollY() > 0;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, 1);
    }
}

From source file:android.kectech.com.stylingactionbar.lib.SwipyRefreshLayout.java

public boolean canChildScrollDown() {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
            try {
                if (absListView.getCount() > 0) {
                    if (absListView.getLastVisiblePosition() + 1 == absListView.getCount()) {
                        int lastIndex = absListView.getLastVisiblePosition()
                                - absListView.getFirstVisiblePosition();
                        return absListView.getChildAt(lastIndex).getBottom() == absListView.getPaddingBottom();
                    }//  ww  w .j av  a2  s. c o  m
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return true;
        } else {
            return true;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, 1);
    }
}

From source file:com.androidhuman.circlerefreshlayout.SwipeRefreshLayout.java

/**
 * @return Whether it is possible for the child view of this layout to
 * scroll up. Override this if the child view is a custom view.
 *//*from   ww w .j  av a  2 s. c  o  m*/
public boolean canChildScrollUp() {
    if (Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
            return absListView.getChildCount() > 0 && (absListView.getFirstVisiblePosition() > 0
                    || absListView.getChildAt(0).getTop() < absListView.getPaddingTop());
        } else {
            return ViewCompat.canScrollVertically(mTarget, -1) || mTarget.getScrollY() > 0;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, -1);
    }
}

From source file:com.hiyjeain.android.DevBase.widget.DoubleSwipeRefreshLayout.java

public boolean canChildScrollDown() {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
            return absListView.getChildCount() > 0 && (absListView.getLastVisiblePosition() > 0 || absListView
                    .getChildAt(absListView.getChildCount() - 1).getBottom() > absListView.getPaddingBottom());
        } else {//from   w  ww.  j  av a  2s  .  c  o  m
            return mTarget.getScrollY() < 0;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, 1);
    }
}

From source file:com.k.xdiary.views.MySwipeRefreshLayout.MySwipeRefreshLayout.java

public boolean canChildScrollUp() {
    if (mChildScrollUpCallback != null) {
        return mChildScrollUpCallback.canChildScrollUp(this, mTarget);
    }//from   www  .ja  v  a  2  s.c  o m
    if (mRecyclerView != null) {
        RecyclerView.LayoutManager layoutManager = mRecyclerView.getLayoutManager();
        if (layoutManager instanceof LinearLayoutManager) {
            int position = ((LinearLayoutManager) layoutManager).findFirstCompletelyVisibleItemPosition();
            return position != 0;
        } else if (layoutManager instanceof StaggeredGridLayoutManager) {
            int[] positions = ((StaggeredGridLayoutManager) layoutManager)
                    .findFirstCompletelyVisibleItemPositions(null);
            for (int i = 0; i < positions.length; i++) {
                if (positions[i] == 0) {
                    return false;
                }
            }
        }
        return true;
    } else if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
            return absListView.getChildCount() > 0 && (absListView.getFirstVisiblePosition() > 0
                    || absListView.getChildAt(0).getTop() < absListView.getPaddingTop());
        } else {
            return ViewCompat.canScrollVertically(mTarget, -1) || mTarget.getScrollY() > 0;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, -1);
    }
}

From source file:com.scanor.refresh.RefreshLayout.java

public boolean canChildScrollFromBottom() {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
            if (absListView.getLastVisiblePosition() == absListView.getCount() - 1) {
                int lastIndex = absListView.getLastVisiblePosition() - absListView.getFirstVisiblePosition();
                return absListView.getChildAt(lastIndex).getBottom() == absListView.getPaddingBottom();
            }/*w  w  w. ja v  a  2 s  .  c o  m*/
            return true;
        } else {
            return mTarget.getScrollY() > 0;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, 1);
    }
}

From source file:com.androidhuman.circlerefreshlayout.SwipeRefreshLayout.java

public boolean canChildScrollDown() {
    if (Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
            return absListView.getChildCount() > 0
                    && (absListView.getLastVisiblePosition() < absListView.getCount() - 1
                            || absListView.getChildAt(0).getBottom() < absListView.getPaddingBottom());
        } else {//  w  ww .  j  a v a2  s.com
            return ViewCompat.canScrollVertically(mTarget, 1) || mTarget.getScrollY() < 0;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, 1);
    }
}

From source file:com.canyinghao.canrefresh.CanRefreshLayout.java

/**
 * ?/*from w w w . ja va 2 s  .com*/
 *
 * @return
 */
protected boolean canChildScrollUp() {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mContentView instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mContentView;
            return absListView.getChildCount() > 0 && (absListView.getFirstVisiblePosition() > 0
                    || absListView.getChildAt(0).getTop() < absListView.getPaddingTop());
        } else {
            return ViewCompat.canScrollVertically(mContentView, -1) || mContentView.getScrollY() > 0;
        }
    } else {
        return ViewCompat.canScrollVertically(mContentView, -1);
    }
}

From source file:com.xiyuan.refresh.RefreshLayout.java

public boolean canChildScrollDown() {
    if (android.os.Build.VERSION.SDK_INT < 14) {
        if (mTarget instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) mTarget;
            int childeCount = absListView.getChildCount();
            return childeCount > 0 && (absListView.getLastVisiblePosition() < childeCount - 1
                    || absListView.getChildAt(childeCount - 1).getBottom() > absListView.getHeight()
                            - absListView.getPaddingBottom());
        } else {/*from  w w w  .ja va2  s. c  o  m*/
            return ViewCompat.canScrollVertically(mTarget, 1)
                    || mTarget.getScrollY() < mTarget.getHeight() + mTarget.getPaddingBottom() - mHeight;
        }
    } else {
        return ViewCompat.canScrollVertically(mTarget, 1);
    }
}