最近项目中遇到了华为虚拟按键适配的问题,主页是个RecylerView(如下图),如果不做适配,在界面初始化完毕后,虚拟按键会遮挡页面或者空出一些留白部分,针对这个问题上网找了些资料,总结了以下方法
首页下部分是RecylerView
首页下半部分是个RecylerView(针对适配)
监听虚拟键的切换
注册系统广播
getContentResolver().registerContentObserver(Settings.System.getUriFor("navigationbar_is_min"), true, mNavigationStatusObserver);
private ContentObserver mNavigationStatusObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
int navigationBarIsMin = Settings.System.getInt(getContentResolver(),
"navigationbar_is_min", 0);
if (navigationBarIsMin == 1) {//导航键隐藏了
Log.e("导航键隐藏了", "-----");
gridView_Home.getViewTreeObserver().addOnGlobalLayoutListener(HomeActivity.this);
} else