android.view.View.canScrollVertically()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(6.8k)|赞(0)|评价(0)|浏览(518)

本文整理了Java中android.view.View.canScrollVertically()方法的一些代码示例,展示了View.canScrollVertically()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。View.canScrollVertically()方法的具体详情如下:
包路径:android.view.View
类名称:View
方法名:canScrollVertically

View.canScrollVertically介绍

暂无

代码示例

代码示例来源:origin: liaoinstan/SpringView

/**
 * 判断目标View是否滑动到顶部 还能否继续滑动
 */
private boolean isChildScrollToTop() {
  return !contentView.canScrollVertically(-1);
}

代码示例来源:origin: liaoinstan/SpringView

/**
 * 是否滑动到底部
 */
private boolean isChildScrollToBottom() {
  return !contentView.canScrollVertically(1);
}

代码示例来源:origin: liaoinstan/SpringView

public static boolean isViewCouldScroll(View view) {
  //如果是以下的view ,则直接返回true
  if (view instanceof ListView
      || view instanceof ScrollView
      || view instanceof NestedScrollView
      || view instanceof RecyclerView
      || view instanceof WebView) {
    return true;
  } else {
    //否则,检查view是否可以在垂直方向上滚动
    return view.canScrollVertically(-1) || view.canScrollVertically(1);
  }
}

代码示例来源:origin: scwang90/SmartRefreshLayout

public static boolean canScrollUp(@NonNull View targetView) {
  if (android.os.Build.VERSION.SDK_INT < 14) {
    if (targetView instanceof AbsListView) {
      final ViewGroup viewGroup = (ViewGroup) targetView;
      final AbsListView absListView = (AbsListView) targetView;
      return viewGroup.getChildCount() > 0
          && (absListView.getFirstVisiblePosition() > 0
          || viewGroup.getChildAt(0).getTop() < targetView.getPaddingTop());
    } else {
      return targetView.getScrollY() > 0;
    }
  } else {
    return targetView.canScrollVertically(-1);
  }
}

代码示例来源:origin: scwang90/SmartRefreshLayout

public static boolean canScrollDown(@NonNull View targetView) {
  if (android.os.Build.VERSION.SDK_INT < 14) {
    if (targetView instanceof AbsListView) {
      final ViewGroup viewGroup = (ViewGroup) targetView;
      final AbsListView absListView = (AbsListView) targetView;
      final int childCount = viewGroup.getChildCount();
      return childCount > 0 && (absListView.getLastVisiblePosition() < childCount - 1
          || viewGroup.getChildAt(childCount - 1).getBottom() > targetView.getPaddingBottom());
    } else {
      return targetView.getScrollY() < 0;
    }
  } else {
    return targetView.canScrollVertically(1);
  }
}

代码示例来源:origin: Flipboard/bottomsheet

private boolean canScrollUp(View view, float x, float y) {
  if (view instanceof ViewGroup) {
    ViewGroup vg = (ViewGroup) view;
    for (int i = 0; i < vg.getChildCount(); i++) {
      View child = vg.getChildAt(i);
      int childLeft = child.getLeft() - view.getScrollX();
      int childTop = child.getTop() - view.getScrollY();
      int childRight = child.getRight() - view.getScrollX();
      int childBottom = child.getBottom() - view.getScrollY();
      boolean intersects = x > childLeft && x < childRight && y > childTop && y < childBottom;
      if (intersects && canScrollUp(child, x - childLeft, y - childTop)) {
        return true;
      }
    }
  }
  return view.canScrollVertically(-1);
}

代码示例来源:origin: nickbutcher/plaid

@Override
public boolean onNestedFling(View target, float velocityX, float velocityY, boolean consumed) {
  if (velocityY <= -SCALED_MIN_FLING_DISMISS_VELOCITY   /* flinging downward */
      && !target.canScrollVertically(-1)) {   /* nested scrolling child can't scroll up */
    animateSettle(dismissOffset, velocityY);
    return true;
  } else if (velocityY > 0 && !isExpanded()) {
    animateSettle(0, velocityY);
  }
  return false;
}

代码示例来源:origin: zj565061763/switchbutton

/**
 * view是否已经滚动到最顶部
 *
 * @param view
 * @return
 */
public static boolean isScrollToTop(View view)
{
  return !view.canScrollVertically(-1);
}

代码示例来源:origin: stackoverflow.com

/**
 * Returns whether or not a View can scroll vertically any further. 
 * @param downwardScroll The direction to check for. Pass true for downwards and
 *                       false for upward. Note that downward scroll == upward swipe
 * */
public static boolean canScrollVerticallyAnyFurther(View view, boolean downwardScroll){
  return view.canScrollVertically(downwardScroll ? +1 : -1);
}

代码示例来源:origin: WangDaYeeeeee/Mysplash

/**
 * Whether the SwipeBackView can swipe back.
 *
 * @param v   child view.
 * @param dir drag direction.
 * */
public static boolean canSwipeBack(View v, int dir) {
  return !v.canScrollVertically(dir);
}

代码示例来源:origin: zj565061763/switchbutton

/**
 * view是否已经滚动到最底部
 *
 * @param view
 * @return
 */
public static boolean isScrollToBottom(View view)
{
  return !view.canScrollVertically(1);
}

代码示例来源:origin: kingargyle/adt-leanback-support

public static boolean canScrollVertically(View v, int direction) {
  return v.canScrollVertically(direction);
}

代码示例来源:origin: pranavpandey/dynamic-support

static void manageScrollIndicators(View v, View upIndicator, View downIndicator) {
  if (upIndicator != null) {
    upIndicator.setVisibility(
        v.canScrollVertically(-1) ? View.VISIBLE : View.INVISIBLE);
  }
  if (downIndicator != null) {
    downIndicator.setVisibility(
        v.canScrollVertically(1) ? View.VISIBLE : View.INVISIBLE);
  }
}

代码示例来源:origin: MuhamedFathy/YTS

@Override public boolean canChildScrollUp() {
 ViewGroup container = getContainer();
 if (container == null) return false;
 View view = container.getChildAt(0);
 if (view.getVisibility() != View.VISIBLE) view = container.getChildAt(1);
 return view.canScrollVertically(-1);
}

代码示例来源:origin: linxin6560/DetailScrollView

@Override
  public boolean canScrollVertically(int direction) {
    return getView().canScrollVertically(direction);
  }
}

代码示例来源:origin: Simon-Leeeeeeeee/SLWidget

/**
 * 判断childView是否可以下拉或者上滑
 * <p>
 * 该方法可以被子类重写,以适应某些特殊的自定义View
 *
 * @param direction 负值表示为下拉动作,否则为上拉
 */
protected boolean canScrollChildVertically(int direction) {
  View view = getChildView();
  return view != null && view.canScrollVertically(direction);
}

代码示例来源:origin: MeetMe/Android-MultiStateView

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
@Override
public boolean canScrollVertically(int direction) {
  // This allows us to pass along whether our child is vertically scrollable or not (useful for SwipeRefreshLayout, for example)
  return super.canScrollVertically(direction)
      || (getState() == ContentState.CONTENT && mContentView != null && mContentView.canScrollVertically(direction));
}

代码示例来源:origin: tony-Shx/Swface

public static boolean canChildScrollUp(View view) {
  if (android.os.Build.VERSION.SDK_INT < 14) {
    if (view instanceof AbsListView) {
      final AbsListView absListView = (AbsListView) view;
      return absListView.getChildCount() > 0
          && (absListView.getFirstVisiblePosition() > 0 || absListView.getChildAt(0)
          .getTop() < absListView.getPaddingTop());
    } else {
      return view.getScrollY() > 0;
    }
  } else {
    return view.canScrollVertically(-1);
  }
}

代码示例来源:origin: zzkong/BaseProject

public static boolean canChildScrollUp(View view) {
  if (android.os.Build.VERSION.SDK_INT < 14) {
    if (view instanceof AbsListView) {
      final AbsListView absListView = (AbsListView) view;
      return absListView.getChildCount() > 0
          && (absListView.getFirstVisiblePosition() > 0 || absListView.getChildAt(0)
          .getTop() < absListView.getPaddingTop());
    } else {
      return view.getScrollY() > 0;
    }
  } else {
    return view.canScrollVertically(-1);
  }
}

代码示例来源:origin: xu649526275/MyMVPDemo

public static boolean canChildScrollUp(View view) {
  if (android.os.Build.VERSION.SDK_INT < 14) {
    if (view instanceof AbsListView) {
      final AbsListView absListView = (AbsListView) view;
      return absListView.getChildCount() > 0
          && (absListView.getFirstVisiblePosition() > 0 || absListView.getChildAt(0)
          .getTop() < absListView.getPaddingTop());
    } else {
      return view.getScrollY() > 0;
    }
  } else {
    return view.canScrollVertically(-1);
  }
}

相关文章

微信公众号

最新文章

更多

View类方法