首页 > 解决方案 > Flutter:在横向模式下在凹槽区域内绘制/扩展

问题描述

目标:在 android 缺口区域内延伸/绘制,特别是在横向模式下。使用 2 个物理设备进行测试会导致凹槽区域在横向模式下无法使用(黑色)。

注意:使用extendBodyBehindAppBar、ExtendBody和SystemChrome.setEnabledSystemUI等模式可以在PORTRAIT模式下成功地延伸到缺口区域,但是当屏幕旋转到横向时,缺口区域被截断并且没有被利用。

问题:在大多数带有弯曲角的设备上以横向模式扩展屏幕时,屏幕看起来很笨拙且不平衡,在凹口部分有一个方形的黑色区域并且在另一端弯曲。

干杯,伙计们。

标签: flutterfullscreenextendlandscape

解决方案


事实证明,就目前而言,这是一个悬而未决的问题。请参阅 Github 问题 #59236 https://github.com/flutter/flutter/issues/59236

在 NATIVE Android 3 上,存在用于控制剪切“缺口”区域中的绘图的选项:

LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT

  • 这是默认行为。在纵向模式下,内容会呈现到剪切区域,但在横向模式下,内容会被加黑。LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
  • 内容以纵向和横向模式呈现到剪切区域。LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER
  • 内容永远不会呈现到剪切区域中。

可以在此处找到更多原生 Android 信息: https ://developer.android.com/guide/topics/display-cutout

就目前而言,LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT 的原生 Android 等价物似乎陷入了困境。

如果有人设法解决这个问题(也许是平台频道的东西?),请发表评论。


推荐阅读