所以我正在制作一个总是出现在顶部的便签,用户可以按下它在上面输入。所以这是我的工作代码:
mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
LayoutInflater layoutInflater =
(LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
myView = layoutInflater.inflate(R.layout.notepad, null ); //notepad.xml contains the EditText
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON,
PixelFormat.TRANSLUCENT);
mWindowManager.addView(myView, params);
问题是当我使用标志 TYPE_SYSTEM_OVERLAY 时,我无法将焦点放在 EditText 上。替代方法是使用 TYPE_SYSTEM_ALERT 并且我可以使用 EditText 进行输入,但随后整个背景将冻结。如何允许用户在不中断后台活动(又名游戏、视频、通过 Facebook 滚动等)的情况下输入