是否可以获得软(虚拟)导航布局的高度?如果是的话,如何获得高度程序化的盟友?
答案 0 :(得分:1)
这应该有效:
Resources resources = context.getResources();
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (resourceId > 0) {
return resources.getDimensionPixelSize(resourceId);
}
return 0;
答案 1 :(得分:0)
DisplayMetrics metrics = new DisplayMetrics();
获取没有软导航布局的屏幕指标
getActivity().getWindowManager().getDefaultDisplay()
.getMetrics(metrics);
int usableHeight = metrics.heightPixels;
获取具有软导航布局的屏幕指标
getActivity().getWindowManager().getDefaultDisplay()
.getRealMetrics(metrics);
int realHeight = metrics.heightPixels;
当您从realHeight中减去usefulHeight时,您将获得软导航布局的实际高度。
注意:getRealMetrics()方法仅在Api级别大于或等于17时才有效,否则无法工作。因此,在获取显示指标之前检查构建版本