title: How to tell if an X and Y coordinate are inside my button?
body: <p>I have managed, with great difficulty, to make a bitmap overlay the screen. I can also get touch input, however it gets touch input for EVERYWHERE on the screen.</p>
  
  <p>I want to know how I would be able to check if the touch was on my bitmap, which is visible on the screen.</p>
  
  <p>The service and view class is below. I have thought and thought, but I couldn't think of a way to do it :(</p>
  
  <pre><code>package &lt;package&gt;;
  
  import android.app.NotificationManager;
  import android.app.PendingIntent;
  import android.app.Service;
  import android.content.Context;
  import android.content.Intent;
  import android.graphics.Bitmap;
  import android.graphics.BitmapFactory;
  import android.graphics.Canvas;
  import android.graphics.Color;
  import android.graphics.Paint;
  import android.graphics.PixelFormat;
  import android.graphics.Rect;
  import android.os.IBinder;
  import android.support.v4.app.NotificationCompat;
  import android.view.Gravity;
  import android.view.MotionEvent;
  import android.view.ViewGroup;
  import android.view.WindowManager;
  import android.widget.Toast;
  
  public class MyService extends Service {
      ButtonView mView;
      Bitmap bit;
  
      @Override
      public IBinder onBind(Intent intent) {
          return null;
      }
  
      @Override
      public void onCreate() {
          super.onCreate();
  
          bit = BitmapFactory.decodeResource(getResources(), R.drawable.button);
  
          NotificationCompat.Builder builder = new NotificationCompat.Builder(
                  this);
          builder.setContentTitle("Ingress Tools Running");
          builder.setContentText("Click to stop Ingress Tools");
          builder.setSmallIcon(R.drawable.ic_launcher);
          builder.setContentIntent(PendingIntent.getActivity(this, 0, new Intent(
                  this, StopActivity.class), 0));
          NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
          manager.notify(1, builder.build());
  
          mView = new ButtonView(this, bit);
          WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                  WindowManager.LayoutParams.FILL_PARENT,
                  WindowManager.LayoutParams.FILL_PARENT,
                  WindowManager.LayoutParams.TYPE_PHONE,
                  WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                          | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
                          | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
                  PixelFormat.TRANSLUCENT);
          params.gravity = Gravity.RIGHT;
          params.setTitle("Load Average");
          WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
          wm.addView(mView, params);
  
      }
  
      @Override
      public void onDestroy() {
          super.onDestroy();
          Toast.makeText(getBaseContext(), "onDestroy", Toast.LENGTH_LONG).show();
          if (mView != null) {
              ((WindowManager) getSystemService(WINDOW_SERVICE))
                      .removeView(mView);
              mView = null;
          }
      }
  }
  
  class ButtonView extends ViewGroup {
      private Paint mLoadPaint;
      private Rect r;
      private Bitmap bit;
  
      public ButtonView(Context context, Bitmap bit) {
          super(context);
          Toast.makeText(context, "HUDView", Toast.LENGTH_LONG).show();
  
          mLoadPaint = new Paint();
          mLoadPaint.setAntiAlias(true);
          mLoadPaint.setTextSize(10);
          mLoadPaint.setARGB(255, 255, 0, 0);
          r = new Rect();
          r.set(380, 134, 468, 213);
          this.bit = bit;
      }
  
      @Override
      protected void onDraw(Canvas canvas) {
          super.onDraw(canvas);
          //canvas.drawColor(Color.BLACK);
  
          canvas.drawBitmap(bit, 100, 100, null);
      }
  
      @Override
      protected void onLayout(boolean arg0, int arg1, int arg2, int arg3, int arg4) {
      }
  
      @Override
      public boolean onTouchEvent(MotionEvent event) {
  
          int area = bit.getWidth() * bit.getHeight();
  
  
          //if (event.getY() &lt;= maxY &amp;&amp; event.getX() &lt;= maxX) {
              Toast.makeText(getContext(), "Open tools: ", Toast.LENGTH_LONG)
                      .show();
  
          //}
          return true;
  
      }
  }
  </code></pre>