0

デバイスが ICS を実行している場合、次の方法でステータス バーを非表示にします。

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);

ただし、View.SYSTEM_UI_FLAG_LOW_PROFILEパラメーターは Android API 14 で定義されています。

私のマニフェストは次のとおりです。

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14" />

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >

しかし、次のようにクラッシュします。

java.lang.NoSuchMethodError: android.view.View.setSystemUiVisibility

このメソッドを呼び出して、より低い API レベルの Android デバイスとの互換性を維持するにはどうすればよいですか?

4

1 に答える 1

2

を使用してバージョンを取得できます

int SDK_INT = android.os.Build.VERSION.SDK_INT;

パラメータを設定する前にバージョンを確認できます

if(SDK_INT >= 11 && SDK_INT < 14) {
        getWindow().getDecorView().setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
    }else if(SDK_INT >= 14){
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
    }
于 2012-05-04T12:32:27.497 に答える