android - 使用adjustresize时如何隐藏导航栏和全屏?
问题描述
我使用此代码隐藏导航栏。
public void hideNavigation() {
try {
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
);
if (Build.VERSION.SDK_INT > 21) {
registerSystemUiVisibility();
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void registerSystemUiVisibility() {
final View decorView = getWindow().getDecorView();
decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
hideNavigation();
}
}
});
}
但是当我显示 Dialog 或将 edittext 焦点放在键盘上时,导航栏会再次出现。代码不起作用。你能帮帮我吗?我使用adjustresize,因为键盘显示时固定标题没有滚动。谢谢当键盘显示时: 在此处输入图像描述
键盘隐藏时: 在此处输入图像描述
解决方案
推荐阅读
- android - 商店没有有效的减速器。确保传递给 combine reducers 的参数是一个其值为 reducers 的对象
- html - 导航栏定位 rtl ltr
- java - 带有 gRPC 的客户端服务器应用程序
- powerbi - Dax Time Intelligence 如何计算当周销售额
- django - 子域上的 Django + Nginx 错误请求 400
- python-3.x - 如何制作 asyncio.Queue 的深拷贝?
- node.js - DynamoDB Local throws Method Not Allowed via SDK
- python - ARSS 抛出分段错误
- ruby-on-rails - 安装 aws-sdk gem 后,网站停止在 heroku 上工作
- reactjs - 登录模式的状态应该在哪里?