我有一个屏幕,其底部工具栏使用以下样式对齐
<style name="BottomToolbar" >
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@color/WHITE</item>
<item name="android:layout_gravity">bottom</item>
<item name="android:layout_alignParentBottom">true</item>
<item name="android:minHeight">?attr/actionBarSize</item>
</style>
当我第一次进入屏幕时,工具栏与屏幕底部很好地对齐。
但是,如果我进入全屏模式(隐藏工具栏)然后返回正常模式(重新显示工具栏),工具栏现在会稍微偏离屏幕。看起来好像它向下移动了全屏模式下隐藏的状态栏的数量。
如果我将应用程序置于后台,然后将其置于前台,则底部工具栏将正确呈现。
我在屏幕顶部有一个栏(而不是应用程序栏),并且它呈现在正确的位置。我不明白为什么它错位了底部工具栏。
就好像当它确定父级的底部时,它不再调整它不再是全屏高度的事实。
我尝试过的
我尝试在退出全屏模式时在工具栏上设置“fitsSystemWindows=”true””,但这没有什么区别。
我尝试在隐藏工具栏时将其设置为“不可见”而不是“消失”,但这没有什么区别。
编辑 1 - 添加了我如何进入和退出全屏的代码片段
我使用以下命令进入全屏
getActivity().getWindow().getDecorView().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
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
我使用以下代码退出全屏
getActivity().getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
编辑 2 - 视图没有被推离底部,它的高度太小
底部视图似乎没有被推离屏幕底部,其高度被缩小并且小于应有的高度。
底部视图是一个 LinearLayout,其高度设置为“wrap_content”,但似乎高度计算不正确,因为它比其内容短,因此其内容的底部被切断。
编辑 3 - 出现问题的设备
进一步调查显示该问题仅出现在没有屏幕导航栏的设备上。例如,问题出现在我的三星 10 英寸平板电脑上,但没有出现在我的 Nexus 5x 上。