在不打扰正在进行的活动的情况下键入EditText?

时间:2013-08-27 04:44:35

标签: android android-windowmanager

所以我正在做一个粘滞便笺排序的东西总是出现在顶部,用户可以按下它来键入它。所以这是我的工作代码:

 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上键入。 Alternate将使用TYPE_SYSTEM_ALERT,我可以使用EditText键入,但随后整个背景将冻结。如何允许用户在不中断后台活动(即游戏,视频,滚动浏览Facebook等)的情况下进行打字

1 个答案:

答案 0 :(得分:2)

有一个开源库。它被称为standOut库。有一个look.

enter image description here

它可能对你有帮助。