我正在尝试制作一个自定义导航按钮,并通过root设备禁用了android提供的默认导航按钮。我希望我的自定义导航按钮在一段时间(比如5秒)后消失。我设法做到了。我想制作一些东西,每当我触摸屏幕上的任何地方时,我都可以检测到触摸事件并显示我的导航栏。无论我是在主屏幕还是任何应用程序,我都可以接收触摸事件。有没有办法这样做或者我需要去android源代码吗?
谢谢
答案 0 :(得分:1)
服务的OnCreate:使用WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH标志。
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(getBaseContext(),"onCreate", Toast.LENGTH_LONG).show();
mView = new HUDView(this);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.RIGHT | Gravity.TOP;
params.setTitle("Load Average");
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(mView, params);
}
现在,您将开始获取每个点击事件。