2017-05-31 19 views
1

一部のカメラ設定では、ポップアップメニュー付きのカメラアプリを作成しています。問題は、ポップアップメニューを表示するボタンをクリックすると、下部のナビゲーションバーが表示されることです。私はすでにオンラインで解決策を探してきましたが、これまでのところ私が役に立たなかったのです。PopupMenuの没入型モードでナビゲーションバーが表示される

mChangeSettingsButton.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      final PopupMenu changeSettingsPopupMenu = new PopupMenu(Camera2VideoImageActivity.this, mChangeSettingsButton) { 
       @Override 
       public void show() { 

        getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); 
        super.show(); 

        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY 
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
            | View.SYSTEM_UI_FLAG_FULLSCREEN 
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 


        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); 

       } 


      };changeSettingsPopupMenu.getMenuInflater().inflate(R.menu.change_setting_popup_menu, changeSettingsPopupMenu.getMenu()); 

      SubMenu changeImageResolutionSubMenu = changeSettingsPopupMenu.getMenu().addSubMenu(0, 100, 0, "Set Image Resolution "); 
      SubMenu changeVideoResolutionSubMenu = changeSettingsPopupMenu.getMenu().addSubMenu(0, 101, 0, "Set Video Resolution"); 
      changeSettingsPopupMenu.show(); 
} 

また、私は私のメインの活動でこれを持っている:何が起こるかの

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
    super.onWindowFocusChanged(hasFocus); 
    if (hasFocus) { 
     getWindow().getDecorView().setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
         | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
         | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
         | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
         | View.SYSTEM_UI_FLAG_FULLSCREEN 
         | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 
    } 

<iframe src="https://giphy.com/embed/3oKIPh2W4bEQrGzmqQ" width="272" height="480" frameBorder="0" class="giphy-embed" allowFullScreen></iframe><p><a href="https://giphy.com/gifs/3oKIPh2W4bEQrGzmqQ">via GIPHY</a></p>

GIF: http://gph.is/2rjPdny

EDIT: おかげHitesh Gehlot返信のために!私はこれを試してみる。 This didn't work, Click to view image

答えて

0

これを試してみてください:返信用

changeSettingsPopupMenu.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); 
     changeSettingsPopupMenu.getWindow().getDecorView().setSystemUiVisibility(getWindow().getDecorView().getSystemUiVisibility()); 
changeSettingsPopupMenu.show(); 
+0

感謝を!私はこれを試しましたが、 "getWindow()"を解決できません。スクリーンショットの元の投稿で自分の編集を確認してください。 –

関連する問題