Java Code Examples for android.view.View#isScrollContainer()
The following examples show how to use
android.view.View#isScrollContainer() .
These examples are extracted from open source projects.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: Accessibility-Test-Framework-for-Android File: ViewAccessibilityUtils.java License: Apache License 2.0 | 6 votes |
/** * 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)); }
Example 2
Source Project: DevUtils File: ViewUtils.java License: Apache License 2.0 | 5 votes |
/** * 获取 View 是否需要滚动效应 * @param view {@link View} * @return {@code true} yes, {@code false} no */ @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) public static boolean isScrollContainer(final View view) { if (view != null) { return view.isScrollContainer(); } return false; }
Example 3
Source Project: Accessibility-Test-Framework-for-Android File: ViewHierarchyElementAndroid.java License: Apache License 2.0 | 4 votes |
Builder(int id, @Nullable ViewHierarchyElementAndroid parent, View fromView) { // Bookkeeping this.id = id; this.parentId = (parent != null) ? parent.getId() : null; this.drawingOrder = null; // API 16+ properties this.scrollable = AT_16 ? fromView.isScrollContainer() : null; // API 11+ properties this.backgroundDrawableColor = (AT_11 && (fromView != null) && (fromView.getBackground() instanceof ColorDrawable)) ? ((ColorDrawable) fromView.getBackground()).getColor() : null; // Base properties this.visibleToUser = ViewAccessibilityUtils.isVisibleToUser(fromView); this.className = fromView.getClass().getName(); this.accessibilityClassName = null; this.packageName = fromView.getContext().getPackageName(); this.resourceName = (fromView.getId() != View.NO_ID) ? ViewAccessibilityUtils.getResourceNameForView(fromView) : null; this.contentDescription = SpannableStringAndroid.valueOf(fromView.getContentDescription()); this.enabled = fromView.isEnabled(); if (fromView instanceof TextView) { TextView textView = (TextView) fromView; // Hint text takes precedence if no text is present. CharSequence text = textView.getText(); if (TextUtils.isEmpty(text)) { text = textView.getHint(); } this.text = SpannableStringAndroid.valueOf(text); this.textSize = textView.getTextSize(); this.textColor = textView.getCurrentTextColor(); this.typefaceStyle = (textView.getTypeface() != null) ? textView.getTypeface().getStyle() : null; } else { this.text = null; this.textSize = null; this.textColor = null; this.typefaceStyle = null; } this.importantForAccessibility = ViewAccessibilityUtils.isImportantForAccessibility(fromView); this.clickable = fromView.isClickable(); this.longClickable = fromView.isLongClickable(); this.focusable = fromView.isFocusable(); this.editable = ViewAccessibilityUtils.isViewEditable(fromView); this.canScrollForward = (ViewCompat.canScrollVertically(fromView, 1) || ViewCompat.canScrollHorizontally(fromView, 1)); this.canScrollBackward = (ViewCompat.canScrollVertically(fromView, -1) || ViewCompat.canScrollHorizontally(fromView, -1)); this.checkable = (fromView instanceof Checkable); this.checked = (fromView instanceof Checkable) ? ((Checkable) fromView).isChecked() : null; this.hasTouchDelegate = (fromView.getTouchDelegate() != null); this.touchDelegateBounds = ImmutableList.of(); // Unavailable from the View API this.boundsInScreen = getBoundsInScreen(fromView); this.nonclippedHeight = fromView.getHeight(); this.nonclippedWidth = fromView.getWidth(); this.actionList = ImmutableList.of(); // Unavailable from the View API }