よくある質問(FAQ)

  • HOME
  • サポート
  • よくある質問(FAQ)
  • FNキーを使ってナビゲーションバーの表示/非表示を切り替えることはできますか?

FNキーを使ってナビゲーションバーの表示/非表示を切り替えることはできますか?

Activityクラスに、ボタンを離した場合(onKeyUp)の処理を記載することで切り替え可能です。
下記に参考のソースコードを記載します。

▼例


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
        switch (keyCode) {
            case 549 :
                // FNを離した場合の処理を記載します
                
                // 画面のオブジェクトを取得します
                View view = getWindow().getDecorView();

                /* ナビゲーションバーの表示を切り替えます
                 * 非表示の時に画面の上もしくは下からスワイプすると一時的にナビゲーションバーを表示します。
                 */
                int uiOptions = view.getSystemUiVisibility();
                uiOptions ^= (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

                // 切り替えた設定を画面に反映します
                view.setSystemUiVisibility(uiOptions);
                
                return true;

            default:
                // 指定キー以外を押した場合の処理を記載します
                return super.onKeyUp(keyCode, event);

        }
    }
}