19

フルスクリーンで実行したいアプリがあります。4.4 KitKat を搭載したデバイスを使用している場合SYSTEM_UI_FLAG_IMMERSIVE、アプリを純粋なフルスクリーンにするように設定するのは簡単です。ただし、API が 4.4 よりも低いデバイスを使用している場合。イマーシブをサポートするキットカットのようにフルスクリーンにする方法がわかりません。

フルスクリーンを設定し、ナビゲーション フラグを非表示にしてアプリをフルスクリーンにすることができますが、画面をクリックするとすぐにこれらのフラグがリセットされ、ナビゲーション バーとステータスバーの両方が表示されるようになります。

JBおよび場合によってはICSを使用してデバイスで没入モードを「シミュレート」できるソリューションはありますか(必ずしも以下ではありません)。

OnSystemUiVisibilityChangeListener現時点でこのように見えるトリガー時に実行されるメソッド hideSystemUI があります。

private void hideSystemUI() {
        actionBar.hide();
        isMenuVisible = false;
        if (currentapiVersion >= android.os.Build.VERSION_CODES.KITKAT){
            mDecorView.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);
        }
        else{
            mDecorView.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);
        }
}

アプリを全画面表示にして、クリックするたびにナビゲーションバーとステータスバーを表示せず、上または下からスライドさせるには、どのような変更を加える必要がありますか。

4

4 に答える 4

3

これはあなたが得ようとしているのと同じくらい近いです:

if (Build.VERSION.SDK_INT >= 19) {
    getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
} else {
    if (Build.VERSION.SDK_INT > 10) {
        findViewById(android.R.id.content).setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
    }
}

また、SDK が 10 未満のデバイスはサポートしないでください。とにかく、最新の Android を入手する必要があります。

于 2016-01-17T19:03:52.087 に答える
0

以下のコードを value/style.xml にコピーするだけです。

<resources>


<style name="AppBaseTheme" parent="Theme.AppCompat.Light">

</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>

</style>

于 2014-12-19T10:15:15.430 に答える
-4

没入モード
には2つの方法があります 没入型のままにするには、この行を変更します

View.SYSTEM_UI_FLAG_IMMERSIVE

この行によって-

View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
于 2014-08-27T02:03:25.933 に答える