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 回答