Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check if translucent navigation is available

Tags:

android

How can I check if translucent navigation is available ?

I am currently setting it to translucent with:

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); 

} 

But since I saw that it gets disabled for some devices (like the N10) and of course it is disabled if hardkeys are present, I'd like to check after setting the FLAG if it is translucent or before if it available at all.

like image 777
stefple Avatar asked Nov 05 '13 15:11

stefple


1 Answers

On KitKat devices, translucent system bars can be disabled with a framework boolean configuration resource. You can inspect the value of that resource at runtime.

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
}
like image 143
jspurlock Avatar answered Sep 30 '22 17:09

jspurlock