我想制作一个看起来像的应用程序/服务(Nexus One touch按钮) 用于导航键(主页,菜单,后退,搜索)
按钮应始终位于顶部并将命令发送到正在运行的实际应用程序。
有人有想法和示例代码怎么做?
我也看到并测试了一个应用程序,它总是显示“破解显示” 因此,tecnic可能会对于始终在顶部显示按钮非常有用。
这些功能,显示按钮并捕捉“触摸事件”并发送事件 活动程序应该在后台运行的服务模块中。
答案 0 :(得分:3)
你不能做这种应用。首先,您无法始终将应用保持在最顶层,然后您无法将关键事件发送到其他应用。
答案 1 :(得分:0)
你可以这样做:
WindowManager mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
System.out.println("Accesibilty cargado correctametne");
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mTopView = (ViewGroup) inflater.inflate(R.layout.resourceshower, null);
LayoutParams mWmlp = new WindowManager.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
mWmlp.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
mWmlp.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
mWmlp.width = 100; //size of window
mWmlp.height = 50;//size of window
mWmlp.format = PixelFormat.TRANSPARENT;
mWmlp.x =50; //position of window
mWmlp.y = 50; //position of window
mWindowManager.addView(mTopView, mWmlp);
然后,如果您想要在其中获得按钮点击,则在按钮上放置(R.layout.resourceshower)的布局中添加以下内容:android:onClick="launch"
并创建一个名称相同的公共方法,如:public void launch(View v){..}
您必须在创建浮动窗口的服务/活动中创建此方法。