1

所以我正在制作一个总是出现在顶部的便签,用户可以按下它在上面输入。所以这是我的工作代码:

 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 滚动等)的情况下输入

4

1 回答 1

2

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

在此处输入图像描述

它可能会帮助你。

于 2013-08-27T05:45:05.313 回答