2017-11-28 6 views
0

私はアプリケーションのフローティングビューを作成していますが、これを使用してフォーカスを削除またはフォーカスできるようにするフラグがあることに気がつきましたあなたの意見はFLAG_NOT_FOCUSABLEFLAG_NOT_TOUCH_MODALのようにあなたの意見に焦点を当てる。ウィンドウマネージャーを表示しても、電話機の戻るボタンを押すことができます

私の意見にはFLAG_NOT_TOUCH_MODALを使用すると編集機能が働きますが、電話機の戻るボタンは無効になっています。

私は、ユーザーがedittextに入力して戻るボタンを無効にできないようにするにはどうすればいいですか?必要のないとき

params = new WindowManager.LayoutParams(
      WindowManager.LayoutParams.WRAP_CONTENT, 
      WindowManager.LayoutParams.WRAP_CONTENT, 
      WindowManager.LayoutParams.TYPE_PHONE, 
      WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, 
      PixelFormat.TRANSPARENT); 

、その後、これに背面図を元に戻す:

params = new WindowManager.LayoutParams(
      WindowManager.LayoutParams.WRAP_CONTENT, 
      WindowManager.LayoutParams.WRAP_CONTENT, 
      WindowManager.LayoutParams.TYPE_PHONE, 
      WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, 
      PixelFormat.TRANSPARENT); 

はです

私の最初のアイデアは、ちょうど、ユーザーが編集テキストを入力する必要があり、このたびを行うことです他の方法でこれにはより良いまたはより効率的な方法がありますか?

ありがとうございました! :D

答えて

0

この

params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY | 
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, 
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | 
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, 
PixelFormat.TRANSLUCENT); 
をお試しください
関連する問題