final float dY = y - offsetY; if (dX >= 0 && dX <= width && dY >= 0 && dY <= height) Compat.setHotspot(mOpenDrawable, ev.getX(), ev.getY()); final float dY = y - offsetY; if (dX >= 0 && dX <= width && dY >= 0 && dY <= height) Compat.setHotspot(mErrorDrawable, ev.getX(), ev.getY());
@Override public boolean onTouchEvent(MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_DOWN: final float x = ev.getX(); final float y = ev.getY(); if (mOpenDrawable != null) { final int width = mOpenDrawable.getIntrinsicWidth(); final int height = mOpenDrawable.getIntrinsicHeight(); final float offsetX = (getWidth() - width) * 0.5f; final float offsetY = (getHeight() - height) * 0.5f; final float dX = x - offsetX; final float dY = y - offsetY; if (dX >= 0 && dX <= width && dY >= 0 && dY <= height) Compat.setHotspot(mOpenDrawable, ev.getX(), ev.getY()); } if (mErrorDrawable != null) { final int width = mErrorDrawable.getIntrinsicWidth(); final int height = mErrorDrawable.getIntrinsicHeight(); final float offsetX = (getWidth() - width) * 0.5f; final float offsetY = (getHeight() - height) * 0.5f; final float dX = x - offsetX; final float dY = y - offsetY; if (dX >= 0 && dX <= width && dY >= 0 && dY <= height) Compat.setHotspot(mErrorDrawable, ev.getX(), ev.getY()); } break; } return super.onTouchEvent(ev); }