android.support.v4.view.accessibility.AccessibilityNodeInfoCompat#isScrollable ( )源码实例Demo

下面列出了android.support.v4.view.accessibility.AccessibilityNodeInfoCompat#isScrollable ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: brailleback   文件: AccessibilityNodeInfoUtils.java
/**
 * Check whether a given node is scrollable.
 *
 * @param node The node to examine.
 * @return {@code true} if the node is scrollable.
 */
private static boolean isScrollable(AccessibilityNodeInfoCompat node) {
    if (node.isScrollable()) {
        return true;
    }

    return supportsAnyAction(node,
            AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD,
            AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD);
}
 
源代码2 项目: stetho   文件: AccessibilityUtil.java
/**
 * Determines whether the provided {@link View} and {@link AccessibilityNodeInfoCompat} is a
 * top-level item in a scrollable container.
 *
 * @param view The {@link View} to evaluate
 * @param node The {@link AccessibilityNodeInfoCompat} to evaluate
 * @return {@code true} if it is a top-level item in a scrollable container.
 */
public static boolean isTopLevelScrollItem(
    @Nullable AccessibilityNodeInfoCompat node,
    @Nullable View view) {
  if (node == null || view == null) {
    return false;
  }

  View parent = (View) ViewCompat.getParentForAccessibility(view);
  if (parent == null) {
    return false;
  }

  if (node.isScrollable()) {
    return true;
  }

  List actionList = node.getActionList();
  if (actionList.contains(AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD) ||
      actionList.contains(AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD)) {
    return true;
  }

  // AdapterView, ScrollView, and HorizontalScrollView are focusable
  // containers, but Spinner is a special case.
  if (parent instanceof Spinner) {
    return false;
  }

  return
      parent instanceof AdapterView ||
          parent instanceof ScrollView ||
          parent instanceof HorizontalScrollView;
}