Вы можете использовать windowManager для этого, но я думаю, что это лучше сделать, как сказал Танос.
//get the instance of WindowManager
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
<WIDTH OF THE BUTTON>,
<HEIGHT OF THE BUTTON>,
WindowManager.LayoutParams.TYPE_APPLICATION_PANEL,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL|WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH|
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
PixelFormat.TRANSPARENT);
//make sure (0;0) is in the top left corner
params.gravity = Gravity.TOP | Gravity.LEFT;
params.x = <POSITION X OF THE BUTTON>
params.y = <POSITION Y OF THE BUTTON>
//make an empty layout so you can get the click event
RelativeLayout layout = new RelativeLayout(this/*or your context here*/);
layout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//do stuff
}
});
windowManager.addView(layout, params);
, если вы хотите, чтобы увидеть форму интерактивной области вы можете добавить вид, которые соответствуют его размеру родителя в макете