List of usage examples for android.view MotionEvent ACTION_HOVER_EXIT
int ACTION_HOVER_EXIT
To view the source code for android.view MotionEvent ACTION_HOVER_EXIT.
Click Source Link
From source file:Main.java
/** * Returns {@true} if the provided event is a touch exploration (e.g. hover) * event. This is used to determine whether the event should be processed by * the touch exploration code within the keyboard. * * @param event The event to check./*from w w w. j a v a 2s. co m*/ * @return {@true} is the event is a touch exploration event */ public static boolean isTouchExplorationEvent(final MotionEvent event) { final int action = event.getAction(); return action == MotionEvent.ACTION_HOVER_ENTER || action == MotionEvent.ACTION_HOVER_EXIT || action == MotionEvent.ACTION_HOVER_MOVE; }
From source file:Main.java
public static void setOnTouchBackgroundEffect(View view) { view.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { if (!(v.getBackground() instanceof TransitionDrawable)) return false; TransitionDrawable transition = (TransitionDrawable) v.getBackground(); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: transition.startTransition(500); break; case MotionEvent.ACTION_HOVER_EXIT: case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_UP: transition.reverseTransition(500); break; }//from w w w.j a va2 s. c o m return false; } }); }
From source file:Main.java
public static String getMotionEventString(int action) { switch (action) { case (MotionEvent.ACTION_DOWN): return "action_down"; case (MotionEvent.ACTION_UP): return "action_down"; case (MotionEvent.ACTION_CANCEL): return "action_down"; case (MotionEvent.ACTION_MOVE): return "action_move"; case (MotionEvent.ACTION_OUTSIDE): return "action_outside"; case (MotionEvent.ACTION_HOVER_ENTER): return "action_hover_enter"; case (MotionEvent.ACTION_HOVER_EXIT): return "action_hover_exit"; case (MotionEvent.ACTION_HOVER_MOVE): return "action_hover_move"; case (MotionEvent.ACTION_MASK): return "action_mask"; }// www. ja v a 2 s.co m return "unknown action event"; }
From source file:Main.java
/** * Gets the name of an action./*from w w w .j a v a2s. co m*/ * * @param action The action being performed. * @param isMotionEvent Whether or not the action is a motion event. * * @return The name of the action being performed. */ public static String getActionName(int action, boolean isMotionEvent) { switch (action) { case MotionEvent.ACTION_DOWN: return "DOWN"; case MotionEvent.ACTION_UP: return "UP"; case MotionEvent.ACTION_MOVE: return isMotionEvent ? "MOVE" : "MULTIPLE"; case MotionEvent.ACTION_CANCEL: return "CANCEL"; case MotionEvent.ACTION_OUTSIDE: return "OUTSIDE"; case MotionEvent.ACTION_POINTER_DOWN: return "POINTER_DOWN"; case MotionEvent.ACTION_POINTER_UP: return "POINTER_UP"; case MotionEvent.ACTION_HOVER_MOVE: return "HOVER_MOVE"; case MotionEvent.ACTION_SCROLL: return "SCROLL"; case MotionEvent.ACTION_HOVER_ENTER: return "HOVER_ENTER"; case MotionEvent.ACTION_HOVER_EXIT: return "HOVER_EXIT"; default: return "ACTION_" + Integer.toString(action); } }
From source file:com.android.hareime.accessibility.AccessibleKeyboardViewProxy.java
/** * Receives hover events when accessibility is turned on in SDK versions ICS * and higher.//from w w w .j a v a2s .c o m * * @param event The hover event. * @return {@code true} if the event is handled */ public boolean dispatchHoverEvent(MotionEvent event, PointerTracker tracker) { final int x = (int) event.getX(); final int y = (int) event.getY(); final Key key = tracker.getKeyOn(x, y); final Key previousKey = mLastHoverKey; mLastHoverKey = key; switch (event.getAction()) { case MotionEvent.ACTION_HOVER_EXIT: // Make sure we're not getting an EXIT event because the user slid // off the keyboard area, then force a key press. if (pointInView(x, y) && (key != null)) { getAccessibilityNodeProvider().simulateKeyPress(key); } //$FALL-THROUGH$ case MotionEvent.ACTION_HOVER_ENTER: return onHoverKey(key, event); case MotionEvent.ACTION_HOVER_MOVE: if (key != previousKey) { return onTransitionKey(key, previousKey, event); } else { return onHoverKey(key, event); } } return false; }
From source file:com.onyx.latinime.accessibility.AccessibilityUtils.java
/** * Returns {@true} if the provided event is a touch exploration (e.g. hover) * event. This is used to determine whether the event should be processed by * the touch exploration code within the keyboard. * * @param event The event to check./*from ww w. ja v a2s . co m*/ * @return {@true} is the event is a touch exploration event */ public boolean isTouchExplorationEvent(final MotionEvent event) { final int action = event.getAction(); return action == MotionEvent.ACTION_HOVER_ENTER || action == MotionEvent.ACTION_HOVER_EXIT || action == MotionEvent.ACTION_HOVER_MOVE; }
From source file:com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy.java
/** * Receives hover events when touch exploration is turned on in SDK versions * ICS and higher.//from w w w . j a va 2 s .com * * @param event The hover event. * @return {@code true} if the event is handled */ public boolean dispatchHoverEvent(MotionEvent event, PointerTracker tracker) { final int x = (int) event.getX(); final int y = (int) event.getY(); final Key previousKey = mLastHoverKey; final Key key; if (pointInView(x, y)) { key = tracker.getKeyOn(x, y); } else { key = null; } mLastHoverKey = key; switch (event.getAction()) { case MotionEvent.ACTION_HOVER_EXIT: // Make sure we're not getting an EXIT event because the user slid // off the keyboard area, then force a key press. if (key != null) { getAccessibilityNodeProvider().simulateKeyPress(key); } //$FALL-THROUGH$ case MotionEvent.ACTION_HOVER_ENTER: return onHoverKey(key, event); case MotionEvent.ACTION_HOVER_MOVE: if (key != previousKey) { return onTransitionKey(key, previousKey, event); } else { return onHoverKey(key, event); } } return false; }
From source file:android.support.v7.widget.TooltipCompatHandler.java
@Override public boolean onHover(View v, MotionEvent event) { if (mPopup != null && mFromTouch) { return false; }/*from www . j a v a 2s .c om*/ AccessibilityManager manager = (AccessibilityManager) mAnchor.getContext() .getSystemService(Context.ACCESSIBILITY_SERVICE); if (manager.isEnabled() && manager.isTouchExplorationEnabled()) { return false; } switch (event.getAction()) { case MotionEvent.ACTION_HOVER_MOVE: if (mAnchor.isEnabled() && mPopup == null) { mAnchorX = (int) event.getX(); mAnchorY = (int) event.getY(); setPendingHandler(this); } break; case MotionEvent.ACTION_HOVER_EXIT: hide(); break; } return false; }
From source file:com.android.utils.ExploreByTouchHelper.java
/** * Dispatches hover {@link MotionEvent}s to the virtual view hierarchy when * the Explore by Touch feature is enabled. * <p>//from w w w.j ava2 s. com * This method should be called by overriding * {@link View#dispatchHoverEvent}: * * <pre> * @Override * public boolean dispatchHoverEvent(MotionEvent event) { * if (mHelper.dispatchHoverEvent(this, event) { * return true; * } * return super.dispatchHoverEvent(event); * } * </pre> * * @param event The hover event to dispatch to the virtual view hierarchy. * @return Whether the hover event was handled. */ public boolean dispatchHoverEvent(MotionEvent event) { if (!mManager.isTouchExplorationEnabled()) { return false; } int virtualViewId = getVirtualViewIdAt(event.getX(), event.getY()); if (virtualViewId == INVALID_ID) { virtualViewId = ROOT_ID; } switch (event.getAction()) { case MotionEvent.ACTION_HOVER_ENTER: case MotionEvent.ACTION_HOVER_MOVE: setHoveredVirtualViewId(virtualViewId); break; case MotionEvent.ACTION_HOVER_EXIT: setHoveredVirtualViewId(virtualViewId); break; } return true; }
From source file:com.farmerbb.taskbar.adapter.StartMenuAdapter.java
@Override public @NonNull View getView(int position, View convertView, final @NonNull ViewGroup parent) { // Check if an existing view is being reused, otherwise inflate the view if (convertView == null) convertView = LayoutInflater.from(getContext()).inflate(isGrid ? R.layout.row_alt : R.layout.row, parent, false);/*from ww w . j av a 2 s .co m*/ final AppEntry entry = getItem(position); assert entry != null; final SharedPreferences pref = U.getSharedPreferences(getContext()); TextView textView = (TextView) convertView.findViewById(R.id.name); textView.setText(entry.getLabel()); Intent intent = new Intent(); intent.setComponent(ComponentName.unflattenFromString(entry.getComponentName())); ActivityInfo activityInfo = intent.resolveActivityInfo(getContext().getPackageManager(), 0); if (activityInfo != null) textView.setTypeface(null, isTopApp(activityInfo) ? Typeface.BOLD : Typeface.NORMAL); switch (pref.getString("theme", "light")) { case "light": textView.setTextColor(ContextCompat.getColor(getContext(), R.color.text_color)); break; case "dark": textView.setTextColor(ContextCompat.getColor(getContext(), R.color.text_color_dark)); break; } ImageView imageView = (ImageView) convertView.findViewById(R.id.icon); imageView.setImageDrawable(entry.getIcon(getContext())); LinearLayout layout = (LinearLayout) convertView.findViewById(R.id.entry); layout.setOnClickListener(view -> { LocalBroadcastManager.getInstance(getContext()) .sendBroadcast(new Intent("com.farmerbb.taskbar.HIDE_START_MENU")); U.launchApp(getContext(), entry.getPackageName(), entry.getComponentName(), entry.getUserId(getContext()), null, false, false); }); layout.setOnLongClickListener(view -> { int[] location = new int[2]; view.getLocationOnScreen(location); openContextMenu(entry, location); return true; }); layout.setOnGenericMotionListener((view, motionEvent) -> { int action = motionEvent.getAction(); if (action == MotionEvent.ACTION_BUTTON_PRESS && motionEvent.getButtonState() == MotionEvent.BUTTON_SECONDARY) { int[] location = new int[2]; view.getLocationOnScreen(location); openContextMenu(entry, location); } if (action == MotionEvent.ACTION_SCROLL && pref.getBoolean("visual_feedback", true)) view.setBackgroundColor(0); return false; }); if (pref.getBoolean("visual_feedback", true)) { layout.setOnHoverListener((v, event) -> { if (event.getAction() == MotionEvent.ACTION_HOVER_ENTER) { int backgroundTint = pref.getBoolean("transparent_start_menu", false) ? U.getAccentColor(getContext()) : U.getBackgroundTint(getContext()); //noinspection ResourceAsColor backgroundTint = ColorUtils.setAlphaComponent(backgroundTint, Color.alpha(backgroundTint) / 2); v.setBackgroundColor(backgroundTint); } if (event.getAction() == MotionEvent.ACTION_HOVER_EXIT) v.setBackgroundColor(0); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) v.setPointerIcon(PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_DEFAULT)); return false; }); layout.setOnTouchListener((v, event) -> { v.setAlpha( event.getAction() == MotionEvent.ACTION_DOWN || event.getAction() == MotionEvent.ACTION_MOVE ? 0.5f : 1); return false; }); } return convertView; }