Java Code Examples for android.view.View#isClickable()
The following examples show how to use
android.view.View#isClickable() .
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: AdvancedMaterialDrawer File: MaterialRippleLayout.java License: Apache License 2.0 | 6 votes |
private boolean findClickableViewInChild(View view, int x, int y) { if (view instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup) view; for (int i = 0; i < viewGroup.getChildCount(); i++) { View child = viewGroup.getChildAt(i); final Rect rect = new Rect(); child.getHitRect(rect); final boolean contains = rect.contains(x, y); if (contains) { return findClickableViewInChild(child, x - rect.left, y - rect.top); } } } else if (view != childView) { return (view.isEnabled() && (view.isClickable() || view.isLongClickable() || view.isFocusableInTouchMode())); } return view.isFocusableInTouchMode(); }
Example 2
Source Project: KickAssSlidingMenu File: MaterialPlain.java License: Apache License 2.0 | 6 votes |
private boolean findClickableViewInChild(View view, int x, int y) { if (view instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup) view; for (int i = 0; i < viewGroup.getChildCount(); i++) { View child = viewGroup.getChildAt(i); final Rect rect = new Rect(); child.getHitRect(rect); final boolean contains = rect.contains(x, y); if (contains) { return findClickableViewInChild(child, x - rect.left, y - rect.top); } } } else if (view != childView) { return (view.isEnabled() && (view.isClickable() || view.isLongClickable() || view.isFocusableInTouchMode())); } return view.isFocusableInTouchMode(); }
Example 3
Source Project: android-art-res File: RevealLayout.java License: Apache License 2.0 | 6 votes |
@Override public boolean dispatchTouchEvent(MotionEvent event) { int x = (int) event.getRawX(); int y = (int) event.getRawY(); int action = event.getAction(); if (action == MotionEvent.ACTION_DOWN) { View touchTarget = getTouchTarget(this, x, y); if (touchTarget != null && touchTarget.isClickable() && touchTarget.isEnabled()) { mTouchTarget = touchTarget; initParametersForChild(event, touchTarget); postInvalidateDelayed(INVALIDATE_DURATION); } } else if (action == MotionEvent.ACTION_UP) { mIsPressed = false; postInvalidateDelayed(INVALIDATE_DURATION); mDispatchUpTouchEventRunnable.event = event; postDelayed(mDispatchUpTouchEventRunnable, 200); return true; } else if (action == MotionEvent.ACTION_CANCEL) { mIsPressed = false; postInvalidateDelayed(INVALIDATE_DURATION); } return super.dispatchTouchEvent(event); }
Example 4
Source Project: LoyalNativeSlider File: MaterialRippleLayout.java License: MIT License | 6 votes |
private boolean findClickableViewInChild(View view, int x, int y) { if (view instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup) view; for (int i = 0; i < viewGroup.getChildCount(); i++) { View child = viewGroup.getChildAt(i); final Rect rect = new Rect(); child.getHitRect(rect); final boolean contains = rect.contains(x, y); if (contains) { return findClickableViewInChild(child, x - rect.left, y - rect.top); } } } else if (view != childView) { return (view.isEnabled() && (view.isClickable() || view.isLongClickable() || view.isFocusableInTouchMode())); } return view.isFocusableInTouchMode(); }
Example 5
Source Project: material-ripple File: MaterialRippleLayout.java License: Apache License 2.0 | 6 votes |
private boolean findClickableViewInChild(View view, int x, int y) { if (view instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup) view; for (int i = 0; i < viewGroup.getChildCount(); i++) { View child = viewGroup.getChildAt(i); final Rect rect = new Rect(); child.getHitRect(rect); final boolean contains = rect.contains(x, y); if (contains) { return findClickableViewInChild(child, x - rect.left, y - rect.top); } } } else if (view != childView) { return (view.isEnabled() && (view.isClickable() || view.isLongClickable() || view.isFocusableInTouchMode())); } return view.isFocusableInTouchMode(); }
Example 6
Source Project: android-art-res File: RevealLayout.java License: Apache License 2.0 | 6 votes |
@Override public boolean dispatchTouchEvent(MotionEvent event) { int x = (int) event.getRawX(); int y = (int) event.getRawY(); int action = event.getAction(); if (action == MotionEvent.ACTION_DOWN) { View touchTarget = getTouchTarget(this, x, y); if (touchTarget != null && touchTarget.isClickable() && touchTarget.isEnabled()) { mTouchTarget = touchTarget; initParametersForChild(event, touchTarget); postInvalidateDelayed(INVALIDATE_DURATION); } } else if (action == MotionEvent.ACTION_UP) { mIsPressed = false; postInvalidateDelayed(INVALIDATE_DURATION); mDispatchUpTouchEventRunnable.event = event; postDelayed(mDispatchUpTouchEventRunnable, 200); return true; } else if (action == MotionEvent.ACTION_CANCEL) { mIsPressed = false; postInvalidateDelayed(INVALIDATE_DURATION); } return super.dispatchTouchEvent(event); }
Example 7
Source Project: android-art-res File: RevealLayout.java License: Apache License 2.0 | 6 votes |
@Override public boolean dispatchTouchEvent(MotionEvent event) { int x = (int) event.getRawX(); int y = (int) event.getRawY(); int action = event.getAction(); if (action == MotionEvent.ACTION_DOWN) { View touchTarget = getTouchTarget(this, x, y); if (touchTarget != null && touchTarget.isClickable() && touchTarget.isEnabled()) { mTouchTarget = touchTarget; initParametersForChild(event, touchTarget); postInvalidateDelayed(INVALIDATE_DURATION); } } else if (action == MotionEvent.ACTION_UP) { mIsPressed = false; postInvalidateDelayed(INVALIDATE_DURATION); mDispatchUpTouchEventRunnable.event = event; postDelayed(mDispatchUpTouchEventRunnable, 200); return true; } else if (action == MotionEvent.ACTION_CANCEL) { mIsPressed = false; postInvalidateDelayed(INVALIDATE_DURATION); } return super.dispatchTouchEvent(event); }
Example 8
Source Project: MDPreference File: MaterialRippleLayout.java License: Apache License 2.0 | 6 votes |
private boolean findClickableViewInChild(View view, int x, int y) { if (view instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup) view; for (int i = 0; i < viewGroup.getChildCount(); i++) { View child = viewGroup.getChildAt(i); final Rect rect = new Rect(); child.getHitRect(rect); final boolean contains = rect.contains(x, y); if (contains) { return findClickableViewInChild(child, x - rect.left, y - rect.top); } } } else if (view != childView) { return (view.isEnabled() && (view.isClickable() || view.isLongClickable() || view.isFocusableInTouchMode())); } return view.isFocusableInTouchMode(); }
Example 9
Source Project: android-art-res File: RevealLayout.java License: Apache License 2.0 | 6 votes |
@Override public boolean dispatchTouchEvent(MotionEvent event) { int x = (int) event.getRawX(); int y = (int) event.getRawY(); int action = event.getAction(); if (action == MotionEvent.ACTION_DOWN) { View touchTarget = getTouchTarget(this, x, y); if (touchTarget != null && touchTarget.isClickable() && touchTarget.isEnabled()) { mTouchTarget = touchTarget; initParametersForChild(event, touchTarget); postInvalidateDelayed(INVALIDATE_DURATION); } } else if (action == MotionEvent.ACTION_UP) { mIsPressed = false; postInvalidateDelayed(INVALIDATE_DURATION); mDispatchUpTouchEventRunnable.event = event; postDelayed(mDispatchUpTouchEventRunnable, 200); return true; } else if (action == MotionEvent.ACTION_CANCEL) { mIsPressed = false; postInvalidateDelayed(INVALIDATE_DURATION); } return super.dispatchTouchEvent(event); }
Example 10
Source Project: BaseProject File: BaseViewHolder.java License: Apache License 2.0 | 6 votes |
/** * add childView id * * @param viewId add the child view id can support childview click * @return if you use adapter bind listener * @link {(adapter.setOnItemChildClickListener(listener))} * <p> * or if you can use recyclerView.addOnItemTouch(listerer) wo also support this menthod */ @Deprecated @SuppressWarnings("unchecked") public BaseViewHolder addOnClickListener(@IdRes final int viewId) { childClickViewIds.add(viewId); final View view = getView(viewId); if (view != null) { if (!view.isClickable()) { view.setClickable(true); } view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (adapter.getOnItemChildClickListener() != null) { adapter.getOnItemChildClickListener().onItemChildClick(adapter, v, getClickPosition()); } } }); } return this; }
Example 11
Source Project: fingerpoetry-android File: RippleLayout.java License: Apache License 2.0 | 6 votes |
private boolean findClickableViewInChild(View view, int x, int y) { if (view instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup) view; for (int i = 0; i < viewGroup.getChildCount(); i++) { View child = viewGroup.getChildAt(i); final Rect rect = new Rect(); child.getHitRect(rect); final boolean contains = rect.contains(x, y); if (contains) { return findClickableViewInChild(child, x - rect.left, y - rect.top); } } } else if (view != childView) { return (view.isEnabled() && (view.isClickable() || view.isLongClickable() || view.isFocusableInTouchMode())); } return view.isFocusableInTouchMode(); }
Example 12
Source Project: android-art-res File: RevealLayout.java License: Apache License 2.0 | 5 votes |
private boolean isTouchPointInView(View view, int x, int y) { int[] location = new int[2]; view.getLocationOnScreen(location); int left = location[0]; int top = location[1]; int right = left + view.getMeasuredWidth(); int bottom = top + view.getMeasuredHeight(); if (view.isClickable() && y >= top && y <= bottom && x >= left && x <= right) { return true; } return false; }
Example 13
Source Project: Accessibility-Test-Framework-for-Android File: ViewAccessibilityUtils.java License: Apache License 2.0 | 5 votes |
/** * Determines if the supplied {@link View} is actionable for accessibility purposes. * * @param view The {@link View} to evaluate * @return {@code true} if {@code view} is considered actionable for accessibility */ public static boolean isActionableForAccessibility(View view) { if (view == null) { return false; } return (view.isClickable() || view.isLongClickable() || view.isFocusable()); }
Example 14
Source Project: android-art-res File: RevealLayout.java License: Apache License 2.0 | 5 votes |
private boolean isTouchPointInView(View view, int x, int y) { int[] location = new int[2]; view.getLocationOnScreen(location); int left = location[0]; int top = location[1]; int right = left + view.getMeasuredWidth(); int bottom = top + view.getMeasuredHeight(); if (view.isClickable() && y >= top && y <= bottom && x >= left && x <= right) { return true; } return false; }
Example 15
Source Project: android-art-res File: RevealLayout.java License: Apache License 2.0 | 5 votes |
private boolean isTouchPointInView(View view, int x, int y) { int[] location = new int[2]; view.getLocationOnScreen(location); int left = location[0]; int top = location[1]; int right = left + view.getMeasuredWidth(); int bottom = top + view.getMeasuredHeight(); if (view.isClickable() && y >= top && y <= bottom && x >= left && x <= right) { return true; } return false; }
Example 16
Source Project: ProgressView File: LongTouchHandler.java License: Apache License 2.0 | 5 votes |
@Override public boolean onTouch(View v, MotionEvent event) { if (v.isClickable()) { /* handle press states */ if (event.getAction() == MotionEvent.ACTION_DOWN) { v.setPressed(true); timer = new Timer(); // Initial delay = length of a long press timer.schedule(new IncrementTask(0, ViewConfiguration.getLongPressTimeout()), ViewConfiguration.getLongPressTimeout()); } else if (event.getAction() == MotionEvent.ACTION_UP) { timer.cancel(); v.setPressed(false); } long lengthOfPress = event.getEventTime() - event.getDownTime(); // If the button has been "tapped" then handle normally if (lengthOfPress < ViewConfiguration.getLongPressTimeout() && event.getAction() == MotionEvent.ACTION_UP) { incrementListener.increment(); } return true; } else { /* If the view isn't clickable, let the touch be handled by others. */ return false; } }
Example 17
Source Project: Travel-Mate File: FlipViewPager.java License: MIT License | 5 votes |
private void checkIfChildWasClicked(MotionEvent ev, final View childView) { if (childView.isClickable() && isPointInsideView(ev.getRawX(), ev.getRawY(), childView)) { childView.performClick(); } else if (childView instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup) childView; for (int i = 0; i < viewGroup.getChildCount(); i++) { View childChildView = viewGroup.getChildAt(i); checkIfChildWasClicked(ev, childChildView); } } }
Example 18
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 }
Example 19
Source Project: android-test File: ViewMatchers.java License: Apache License 2.0 | 4 votes |
@Override public boolean matchesSafely(View view) { return view.isClickable() == isClickable; }
Example 20
Source Project: Backboard File: Actor.java License: Apache License 2.0 | 4 votes |
@Override @SuppressLint("ClickableViewAccessibility") public boolean onTouch(@NonNull final View v, @NonNull final MotionEvent event) { final boolean retVal; if (!mMotionListenerEnabled || mMotions.isEmpty()) { if (mOnTouchListener != null) { retVal = mOnTouchListener.onTouch(v, event); } else { retVal = false; } return retVal; } for (Motion motion : mMotions) { for (EventImitator imitator : motion.imitators) { imitator.imitate(v, event); } } if (mOnTouchListener != null) { retVal = mOnTouchListener.onTouch(v, event); } else { retVal = true; } if (mRequestDisallowTouchEvent) { // prevents parent from scrolling or otherwise stealing touch events v.getParent().requestDisallowInterceptTouchEvent(true); } if (v.isClickable()) { if (event.getEventTime() - event.getDownTime() > ViewConfiguration.getLongPressTimeout()) { v.setPressed(false); return true; } if (event.getHistorySize() > 0) { final float deltaX = event.getHistoricalX(event.getHistorySize() - 1) - event.getX(); final float deltaY = event.getHistoricalY(event.getHistorySize() - 1) - event.getY(); // if user has moved too far, it is no longer a click final boolean removeClickState = Math.pow(deltaX, 2) + Math.pow(deltaY, 2) > Math.pow(MAX_CLICK_DISTANCE, 2); v.setPressed(!removeClickState); return removeClickState; } else { return false; } } return retVal; }