android-titlebar
android-titlebar copied to clipboard
在某些手机下且使用沉浸标题模式下,底部会有一个高度=状态栏高度的白条。
一、条件
1、沉浸模式下 2、 红米1s(miui8.5) 和oppo A37m(ColorOS3.0)Android5.1下 3、界面有ScrollView下内嵌有EditText。
Activity 设置:android:windowSoftInputMode="stateHidden|adjustResize" 已经调用 @Override public void onAttachedToWindow() { super.onAttachedToWindow(); KeyboardConflictCompat.assistWindow(getWindow()); }
二、现象
当进入界面时,界面底部出现白条,高度=状态栏高度
调试发现:
KeyboardConflictCompat.KeyboardConflictCompat() 方法里面 代码 contentHeight = mChildOfContent.getHeight();
假设手机 h=1280px。 在出问题的机型里面,contentHeight = h - statusHeight
没有出现白条的手机,contentHeight = h
我把代码改为: mChildOfContent.getRootView().getHeight(); 都正常。
原因可能某些机型ROM有问题。
我在小米2s(MIUI9.2) 及其它厂商手机上(测试了10手机左右),未见有此现象。
在华为荣耀7上,也会出现白条的情况
@lcj0304
mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
public void onGlobalLayout() {
if (isfirst) {
contentHeight = mChildOfContent.getHeight();//兼容华为等机型
isfirst = false;
}
possiblyResizeChildOfContent();
}
});
改成
mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
public void onGlobalLayout() {
if (isfirst) {
contentHeight = mChildOfContent.getRootView().getHeight();//兼容华为等机型
isfirst = false;
}
possiblyResizeChildOfContent();
}
});
之后OK了?
一、条件
1、沉浸模式下 2、 红米1s(miui8.5) 和oppo A37m(ColorOS3.0)Android5.1下 3、界面有ScrollView下内嵌有EditText。
Activity 设置:android:windowSoftInputMode="stateHidden|adjustResize" 已经调用 @override public void onAttachedToWindow() { super.onAttachedToWindow(); KeyboardConflictCompat.assistWindow(getWindow()); }
二、现象
当进入界面时,界面底部出现白条,高度=状态栏高度
调试发现:
KeyboardConflictCompat.KeyboardConflictCompat() 方法里面 代码 contentHeight = mChildOfContent.getHeight();
假设手机 h=1280px。 在出问题的机型里面,contentHeight = h - statusHeight
没有出现白条的手机,contentHeight = h
我把代码改为: mChildOfContent.getRootView().getHeight(); 都正常。
原因可能某些机型ROM有问题。
我在小米2s(MIUI9.2) 及其它厂商手机上(测试了10手机左右),未见有此现象。 ========================================================================= 在mate10 pro, EMUI版本10.0.0,android版本10的机子上, 还是出现了会出现白条