安卓全面屏手机获取虚拟导航栏高度
问题:之前做过各种导航栏的适配,这次在适配RN的虚拟导航栏时会出现闪一下的问题,问题虽然不大但是看上去不是十分美观。
解决方法:在安卓端获取虚拟导航栏高度,在RN添加同等高度的透明view于页面底部。
代码:
/**
* 获取导航栏高度
*
* @param context
* @return
*/
public int getNavigationHeight(Context context) {
int windowheight = getWindowManager().getDefaultDisplay().getHeight(); //获取无导航栏状态栏时窗口高度
Log.d("无导航栏状态栏时窗口高度", String.valueOf(windowheight));
int fullheigh = 0; //窗口总高度
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics dm = new DisplayMetrics();
@SuppressWarnings("rawtypes")
Class klass;
try {
klass = Class.forName("android.view.Display");
@SuppressWarnings("unchecked")
Method method = klass.getMethod("getRealMetrics", DisplayMetrics.class);