nitesh goel nitesh goel - 5 months ago 73
Android Question

application content goes behind the navigation bar in android L

enter image description here

As you can see my "Got It" button is behind the navigation bar.Not able to fix it!!! I have tried

<item name="android:fitsSystemWindows">true</item>

As well as setting it in layout file.

my theme in value-21 is :

<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:fitsSystemWindows">true</item>

Its the same case with all the screens throughout the application.

Please Help.


Here is the solution.

Most of the layouts get solved by adding these properties in value-21 style.xml

<item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="android:fitsSystemWindows">true</item>

for others, I have calculated the hight of navigation bar and add margin to my view .

public static int getSoftButtonsBarSizePort(Activity activity) {
    // getRealMetrics is only available with API 17 and +
        DisplayMetrics metrics = new DisplayMetrics();
        int usableHeight = metrics.heightPixels;
        int realHeight = metrics.heightPixels;
        if (realHeight > usableHeight)
            return realHeight - usableHeight;
            return 0;
    return 0;

Note: By using the above solutions everything work but I was also using PopupWindow in my app.The layout of the PopupWindow get messed up in android L. Look for the issue and the solution here