android.view.View#getParentForAccessibility ( )源码实例Demo

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

/**
 * Determines if the supplied {@link View} has an ancestor which meets the criteria for gaining
 * accessibility focus.
 *
 * <p>NOTE: This method only evaluates ancestors which may be considered important for
 * accessibility and explicitly does not evaluate the supplied {@code view}.
 *
 * @param view The {@link View} to evaluate
 * @return {@code true} if an ancestor of {@code view} may gain accessibility focus, {@code false}
 *     otherwise
 */
@RequiresApi(Build.VERSION_CODES.JELLY_BEAN) // Calls View#getParentForAccessibility
private static boolean hasFocusableAncestor(View view) {
  if (view == null) {
    return false;
  }

  ViewParent parent = view.getParentForAccessibility();
  if (!(parent instanceof View)) {
    return false;
  }

  if (isAccessibilityFocusable((View) parent)) {
    return true;
  }

  return hasFocusableAncestor((View) parent);
}
 
/**
 * Determines if the supplied {@link View} is a top-level item within a scrollable container.
 *
 * @param view The {@link View} to evaluate
 * @return {@code true} if {@code view} is a top-level view within a scrollable container, {@code
 *     false} otherwise
 */
@RequiresApi(Build.VERSION_CODES.JELLY_BEAN) // Calls View#getParentForAccessibility
private static boolean isChildOfScrollableContainer(View view) {
  if (view == null) {
    return false;
  }

  ViewParent viewParent = view.getParentForAccessibility();
  if ((viewParent == null) || !(viewParent instanceof View)) {
    return false;
  }

  View parent = (View) viewParent;
  if (parent.isScrollContainer()) {
    return true;
  }

  // Specifically check for parents that are AdapterView, ScrollView, or HorizontalScrollView, but
  // exclude Spinners, which are a special case of AdapterView.
  return (((parent instanceof AdapterView)
          || (parent instanceof ScrollView)
          || (parent instanceof HorizontalScrollView))
      && !(parent instanceof Spinner));
}
 
源代码3 项目: Dashchan   文件: DrawerLayout.java
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
	if (CAN_HIDE_DESCENDANTS) {
		super.onInitializeAccessibilityNodeInfo(host, info);
	} else {
		// Obtain a node for the host, then manually generate the list
		// of children to only include non-obscured views.
		final AccessibilityNodeInfo superNode = AccessibilityNodeInfo.obtain(info);
		super.onInitializeAccessibilityNodeInfo(host, superNode);

		info.setSource(host);
		final ViewParent parent = host.getParentForAccessibility();
		if (parent instanceof View) {
			info.setParent((View) parent);
		}
		copyNodeInfoNoChildren(info, superNode);
		superNode.recycle();

		addChildrenForAccessibility(info, (ViewGroup) host);
	}

	info.setClassName(DrawerLayout.class.getName());

	// This view reports itself as focusable so that it can intercept
	// the back button, but we should prevent this view from reporting
	// itself as focusable to accessibility services.
	info.setFocusable(false);
	info.setFocused(false);
	if (C.API_LOLLIPOP) {
		info.removeAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_FOCUS);
		info.removeAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_CLEAR_FOCUS);
	}
}
 
源代码4 项目: letv   文件: ViewCompatJB.java
public static ViewParent getParentForAccessibility(View view) {
    return view.getParentForAccessibility();
}
 
源代码5 项目: MiBandDecompiled   文件: am.java
public static ViewParent e(View view)
{
    return view.getParentForAccessibility();
}
 
源代码6 项目: CodenameOne   文件: ViewCompatJB.java
public static ViewParent getParentForAccessibility(View view) {
    return view.getParentForAccessibility();
}
 
源代码7 项目: adt-leanback-support   文件: ViewCompatJB.java
public static ViewParent getParentForAccessibility(View view) {
    return view.getParentForAccessibility();
}
 
源代码8 项目: V.FlyoutTest   文件: ViewCompatJB.java
public static ViewParent getParentForAccessibility(View view) {
    return view.getParentForAccessibility();
}
 
源代码9 项目: guideshow   文件: ViewCompatJB.java
public static ViewParent getParentForAccessibility(View view) {
    return view.getParentForAccessibility();
}
 
 方法所在类
 同类方法