这是我用来检测键盘高度变化的代码。
问题只在于当此代码运行时,状态栏颜色会消失并变为白色。
ViewCompat.setOnApplyWindowInsetsListener(this.getWindow().getDecorView(), (v, insets) -> {
int keyboardHeight = insets.getInsets(WindowInsetsCompat.Type.ime()).bottom;
//Do your job here
Log.d("Keyboard height: ", String.valueOf(keyboardHeight));
SharedPreferences preferences = this.getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
if (keyboardHeight > 0) {
bottom.getLayoutParams().height = 0;
editor.putInt("keyboard_height", keyboardHeight);
} else {
bottom.getLayoutParams().height = preferences.getInt("keyboard_height", 500);
}
editor.apply();
return insets;
});
有没有其他的代码可以不改变 状态栏
的颜色?
或者有没有办法在这段代码运行后以编程方式重新添加 状态栏
的颜色?