List of usage examples for android.support.v4.view ViewCompat canScrollVertically
public static boolean canScrollVertically(View v, int direction)
From source file:me.ele.backviewlayout.BackViewLayout.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 w w w .jav a2s .c om private 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.example.tt.pullrefresh.widget.HeaderRefreshLayout.java
public boolean canChildScrollUp() { // if (mChildScrollUpCallback != null) { // return mChildScrollUpCallback.canChildScrollUp(this, mTarget); // }/*from w w w .j ava 2s.c om*/ if (targetView == null) { throw new RuntimeException("Should init targetView at first!"); } if (android.os.Build.VERSION.SDK_INT < 14) { if (targetView instanceof AbsListView) { final AbsListView absListView = (AbsListView) targetView; return absListView.getChildCount() > 0 && (absListView.getFirstVisiblePosition() > 0 || absListView.getChildAt(0).getTop() < absListView.getPaddingTop()); } else { return ViewCompat.canScrollVertically(targetView, -1) || targetView.getScrollY() > 0; } } else { return ViewCompat.canScrollVertically(targetView, -1); } }
From source file:xyz.hanks.nestedwebview.SSScrollView.java
@Override public void onNestedPreScroll(View target, int dx, int dy, int[] consumed) { Log.e("......", "........." + ViewCompat.canScrollVertically(target, -1)); dispatchNestedPreScroll(dx, dy, consumed, null); }
From source file:com.google.samples.apps.iosched.ui.BaseScheduleActivity.java
@Override public boolean canSwipeRefreshChildScrollUp() { if (mWideMode) { return ViewCompat.canScrollVertically(mScrollViewWide, -1); }// ww w. j a v a 2s . c o m for (MyScheduleFragment fragment : mMyScheduleFragments) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) { if (!fragment.getUserVisibleHint()) { continue; } } return ViewCompat.canScrollVertically(fragment.getListView(), -1); } return false; }
From source file:com.lixplor.rocketpulltorefresh.RefreshLayout.java
/** * Evaluate if this should intercept touch event to enable pull actions * @param ev MotionEvent//ww w . j a v a 2s. c om * @param contentView content view to help evaluate * @return true if intercepts; false otherwise */ private boolean shouldInterceptTouchEvent(MotionEvent ev, View contentView) { boolean shouldIntercept; switch (ev.getAction()) { case MotionEvent.ACTION_DOWN: case MotionEvent.ACTION_POINTER_DOWN: mInterceptDownY = ev.getRawY(); break; case MotionEvent.ACTION_MOVE: mInterceptMoveY = ev.getRawY(); mLastTouchRawY = mInterceptMoveY; if (Math.abs(mInterceptMoveY - mInterceptDownY) > mTouchSlop) { if (mEnableRefresh && mInterceptMoveY - mInterceptDownY > 0) { // pull down, evaluate if content view is at top shouldIntercept = !ViewCompat.canScrollVertically(contentView, -1); return shouldIntercept; } else if (mEnableLoadMore && mInterceptMoveY - mInterceptDownY < 0) { // pull up, evaluate if content view is at bottom shouldIntercept = !ViewCompat.canScrollVertically(contentView, 1); return shouldIntercept; } } break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: break; } return super.onInterceptTouchEvent(ev); }
From source file:com.demos.support_23_2.MyBottomBehavior.java
@Override public void onNestedPreScroll(CoordinatorLayout coordinatorLayout, V child, View target, int dx, int dy, int[] consumed) { View scrollingChild = mNestedScrollingChildRef.get(); if (target != scrollingChild) { return;// w w w .j a va 2 s. com } int currentTop = child.getTop(); int newTop = currentTop - dy; if (dy > 0) { // Upward if (newTop < mMinOffset) { consumed[1] = currentTop - mMinOffset; ViewCompat.offsetTopAndBottom(child, -consumed[1]); setStateInternal(STATE_EXPANDED); } else { consumed[1] = dy; ViewCompat.offsetTopAndBottom(child, -dy); setStateInternal(STATE_DRAGGING); } } else if (dy < 0) { // Downward if (!ViewCompat.canScrollVertically(target, -1)) { if (newTop <= mMaxOffset || mHideable) { consumed[1] = dy; ViewCompat.offsetTopAndBottom(child, -dy); setStateInternal(STATE_DRAGGING); } else { consumed[1] = currentTop - mMaxOffset; ViewCompat.offsetTopAndBottom(child, -consumed[1]); setStateInternal(STATE_COLLAPSED); } } } dispatchOnSlide(child.getTop()); mLastNestedScrollDy = dy; mNestedScrolled = true; }
From source file:com.taobao.luaview.view.widget.SuperSwipeRefreshLayout.java
/** * View?-?//from w w w . j a v a 2s .c o m * * @return */ public boolean isChildScrollToTop() { if (Build.VERSION.SDK_INT < 14) { if (((ViewGroup) mTarget).getChildAt(0) instanceof AbsListView) { final AbsListView absListView = (AbsListView) ((ViewGroup) mTarget).getChildAt(0); return !(absListView.getChildCount() > 0 && (absListView.getFirstVisiblePosition() > 0 || absListView.getChildAt(0).getTop() < absListView.getPaddingTop())); } else { return !(((ViewGroup) mTarget).getChildAt(0).getScrollY() > 0); } } else { return !ViewCompat.canScrollVertically(((ViewGroup) mTarget).getChildAt(0), -1); } }
From source file:com.recyclerviewpulldownrefresh.view.refresh.AbPullToRefreshView.java
/** * ??//from w w w. j a v a2s .com * * @return */ public boolean canChildScrollUp() { // ??? if (!mEnablePullRefresh) { return false; } if (mTarget instanceof AdapterView<?>) { final AdapterView<?> absListView = (AdapterView<?>) mTarget; View child = absListView.getChildAt(0); if (child == null) { return true; } if (absListView.getFirstVisiblePosition() == 0 && child.getTop() == 0) { return true; } int top = child.getTop(); int padding = absListView.getPaddingTop(); if (absListView.getFirstVisiblePosition() == 0 && Math.abs(top - padding) <= 11) { return true; } return false; } else if (mTarget instanceof ScrollView) { return mScrollView.getScrollY() == 0; } else if (mTarget instanceof WebView) { WebView webView = (WebView) mTarget; if (webView != null) { return webView.getScrollY() == 0; } return false; } else if (mTarget instanceof RecyclerView) { int firstVisiblePosition = 0; RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager(); View childView = layoutManager.getChildAt(0); if (null == childView) { return true; } if (layoutManager instanceof LinearLayoutManager) { firstVisiblePosition = ((LinearLayoutManager) layoutManager).findFirstVisibleItemPosition(); } else if (layoutManager instanceof GridLayoutManager) { firstVisiblePosition = ((GridLayoutManager) layoutManager).findFirstVisibleItemPosition(); } else if (layoutManager instanceof StaggeredGridLayoutManager) { int[] spanPosition = new int[((StaggeredGridLayoutManager) layoutManager).getSpanCount()]; ((StaggeredGridLayoutManager) layoutManager).findFirstVisibleItemPositions(spanPosition); firstVisiblePosition = getFirstVisibleItemPosition(spanPosition); } if (childView.getTop() == 0 && firstVisiblePosition == 0) { return true; } return false; } else { return ViewCompat.canScrollVertically(mTarget, 1); } }
From source file:me.xiaopan.android.widget.PullRefreshLayout.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 w w w . j a v a 2 s . co m*/ private boolean canChildScrollUp() { if (android.os.Build.VERSION.SDK_INT < 14) { if (targetView instanceof AbsListView) { final AbsListView absListView = (AbsListView) targetView; return absListView.getChildCount() > 0 && (absListView.getFirstVisiblePosition() > 0 || absListView.getChildAt(0).getTop() < absListView.getPaddingTop()); } else { return targetView.getScrollY() > 0; } } else { return ViewCompat.canScrollVertically(targetView, -1); } }
From source file:com.aiga.events.android.views.NoScrollSwipeRefreshLayout.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 w w w .ja v a 2 s. com 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()); } return mTarget.getScrollY() > 0; } return ViewCompat.canScrollVertically(mTarget, -1); }