应用程序内容在Android L的导航栏后面



Answers

为了不错的用户体验,你不应该使用android:windowTranslucentNavigation来阻止导航键区域

而这里是更好的解决方案,如果你正在使用ResideMenu库,那么只需在ResideMenu.java中添加此方法

  @Override
protected boolean fitSystemWindows(Rect insets) {
    int bottomPadding = insets.bottom;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Resources resources = getResources();
        int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
        if (resourceId > 0) {
            bottomPadding += resources.getDimensionPixelSize(resourceId);
        }
    }
    this.setPadding(viewActivity.getPaddingLeft() + insets.left, viewActivity.getPaddingTop() + insets.top,
            viewActivity.getPaddingRight() + insets.right, viewActivity.getPaddingBottom() + bottomPadding);
    insets.left = insets.top = insets.right = insets.bottom = 0;
    return true;
}

如果您正在使用SlidingMenu库,则通过以下方式将mod更改为SLIDING_CONTENT

menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);

希望能节省您的时间

Question

正如你可以看到我的“得到它”按钮是在导航栏后面。无法修复它! 我努力了

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

以及在布局文件中设置它。

我在21世纪的主题是:

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

它与整个应用程序中的所有屏幕都是相同的情况。

请帮忙。




只需在设置内容视图的时候在Activity的onCreate()中设置:

int mScreenWidth = getWindowManager().getDefaultDisplay().getWidth();
int mScreenHeight = getWindowManager().getDefaultDisplay().getHeight();
View view = getLayoutInflater().inflate(R.layout.activity_main, null);
setContentView(view, new ViewGroup.LayoutParams(mScreenWidth, mScreenHeight));



Links