是否可以获得软(虚拟)导航布局的高度?如果是,如何获得高度编程盟友?
问问题
101 次
2 回答
1
这应该有效:
Resources resources = context.getResources();
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (resourceId > 0) {
return resources.getDimensionPixelSize(resourceId);
}
return 0;
于 2014-09-18T16:38:39.027 回答
0
DisplayMetrics metrics = new DisplayMetrics();
在没有软导航布局的情况下获取屏幕指标
getActivity().getWindowManager().getDefaultDisplay()
.getMetrics(metrics);
int usableHeight = metrics.heightPixels;
使用软导航布局获取屏幕指标
getActivity().getWindowManager().getDefaultDisplay()
.getRealMetrics(metrics);
int realHeight = metrics.heightPixels;
当你从 realHeight 中减去 usableHeight 时,你会得到软导航布局的实际高度。
注意:getRealMetrics() 方法仅在 Api 级别大于或等于 17 时有效,否则将无效。因此,在获取显示指标之前检查构建版本
于 2014-10-28T09:14:23.170 回答