如何获取Android手机底部导航栏的高度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取Android手机底部导航栏的高度相关的知识,希望对你有一定的参考价值。

参考技术A 方法/**
//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

* 获取状态栏高度
* @param context
* @return
*/
public static int getStatusBarHeight(Context context) int result = 0; int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0)
result = context.getResources().getDimensionPixelSize(resourceId);
return result;
/**
* 获取导航栏高度
* @param context
* @return
*/
public static int getDaoHangHeight(Context context) int result = 0; int resourceId=0; int rid = context.getResources().getIdentifier("config_showNavigationBar", "bool", "android"); if (rid!=0)
resourceId = context.getResources().getIdentifier("navigation_bar_height", "dimen", "android");
CMLog.show("高度:"+resourceId);
CMLog.show("高度:"+context.getResources().getDimensionPixelSize(resourceId) +""); return context.getResources().getDimensionPixelSize(resourceId);
else
return 0;
参考技术B public int getNavigationBarHeight(Activity activity)

Android 大杂烩工程之底部导航栏的实现方式

说到导航栏,根据WYSIWYG(所见即所得)原则,我们来看看到底是什么梗,请看大屏幕:


我想,当你看完上图你就马上恍然大悟的说:原来这玩意就是传说中的导航栏啊,实在是脸熟得很啊。没错确实脸熟的很,QQ,微信和网易云音乐以及ZAKER这几款流行的手机软件上都能见到导航栏的存在,甚至毫不夸张的说,只要你打开任何一款软件,你就能找到导航栏的存在。至此你就知道,这东西是多么的有用。好了,不瞎逼逼了,咋们来看看这功能是怎么实现的。

实现方法一:FragmentManager+Fragment

首先,咋们来看主布局文件main.xml

<?xml version="1.0" encoding="ut

以上是关于如何获取Android手机底部导航栏的高度的主要内容,如果未能解决你的问题,请参考以下文章

android 底部导航栏

Android 获取状态栏标题栏导航栏等的高度

Android知识串讲(1) 底部导航栏遮挡转屏锁定ActionBar隐藏

Android 大杂烩工程之底部导航栏的实现方式

Android 大杂烩工程之底部导航栏的实现方式

NavUtils底部虚拟导航栏工具类