这个问题实际上出现在更复杂的情况,涉及方位的变化和不同的纵向和横向的布局,但在它的最低版本的问题是这样的:如何从SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION恢复?
我们想来回切换之间的“正常”和“全屏“布局,我。 Ë:其中内容只占剩下的导航栏和状态栏
- 一个布局
,从正常的切换,我们使用的是切换到全屏模式:
public static final int EXPAND_FLAGS = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
getWindow().getDecorView().setSystemUiVisibility(EXPAND_FLAGS);
并切换回我们尝试:
public static final int SHRINK_FLAGS = View.SYSTEM_UI_FLAG_VISIBLE;
getWindow().getDecorView().setSystemUiVisibility(SHRINK_FLAGS);
所以,从这个
我们第一次 “扩大” 这样的:
但 “缩水” 后不工作:
因此,虽然Activity只允许在系统UI中绘制,但它仍然“认为”它应该为系统UI留出空间。
所以我的问题是:SHRINK_FLAGS
应该在我的代码上面或应该做什么完全不同?
我们使用AppCompatActivity
和Theme.AppCompat.Light.DarkActionBar
主题。
我不明白这是如何工作的,但你救了我的屁股,谢谢! –