ResideMenu Android布局高度错误
Posted
技术标签:
【中文标题】ResideMenu Android布局高度错误【英文标题】:ResideMenu Android layout height wrong 【发布时间】:2017-07-02 17:41:18 【问题描述】:我正在使用 android ResideMenu 库,除了错误计算我的主要“内容活动”大小的问题之外,它通常都很好。
我已经用几种设备进行了测试,但每个设备似乎都有点偏差,当我尝试从 Activity 底部显示项目(例如小吃栏或自定义弹出窗口)时,这会导致问题(见图片)。
根据我的阅读,它可能与ResideMenu.java
中的protected boolean fitSystemWindows(Rect insets)
方法有关,但对我来说这似乎微不足道。
有什么想法吗?
【问题讨论】:
【参考方案1】:当我使用这个库ResideMenu
时,我遇到了同样的问题。在里面
ResideMenu.java 文件我对两个函数进行了更改。
功能:
@Override
protected boolean fitSystemWindows(Rect insets)
int bottomPadding = viewActivity.getPaddingBottom() + insets.bottom;
boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);
boolean hasHomeKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_HOME);
if (!hasBackKey || !hasHomeKey) //there's a navigation bar
bottomPadding += getNavigationBarHeight();
this.setPadding(viewActivity.getPaddingLeft() + insets.left,
viewActivity.getPaddingTop() + insets.top,
viewActivity.getPaddingRight() + insets.right,
bottomPadding);
insets.left = insets.top = insets.right = insets.bottom = 0;
return true;
private int getNavigationBarHeight()
Resources resources = getResources();
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (resourceId > 0)
return resources.getDimensionPixelSize(resourceId);
return 0;
【讨论】:
很多人提到过,但它不起作用 - 使用Nexus 5x API v24
使用模拟器测试
更不用说我认为代码是错误的 - 不应该是 hasBackKey || hasHomeKey(不是 NOT)以上是关于ResideMenu Android布局高度错误的主要内容,如果未能解决你的问题,请参考以下文章