5

半透明のナビゲーションが利用可能かどうかを確認するにはどうすればよいですか?

現在、次の方法で半透明に設定しています。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 

    translucentNavigation = true; 
    Window w = getWindow();  
    w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 

} 

しかし、一部のデバイス (N10 など) では無効になり、ハードキーが存在する場合はもちろん無効になっていることがわかったので、FLAG を設定した後、半透明かどうか、または使用可能かどうかを確認したいと思います。

4

1 に答える 1

21

KitKat デバイスでは、半透明のシステム バーをフレームワークのブール値構成リソースで無効にすることができます。実行時にそのリソースの値を調べることができます。

int id = getResources().getIdentifier("config_enableTranslucentDecor", "bool", "android");
if (id == 0) {
    // not on KitKat
} else {
    boolean enabled = getResources().getBoolean(id);
    // enabled = are translucent bars supported on this device
}
于 2013-11-05T16:06:50.747 に答える