【问题标题】:SafeArea is not padding enough to avoid the notchSafeArea 没有足够的填充物来避免缺口
【发布时间】:2020-09-01 09:13:39
【问题描述】:

根据文档here。 SafeArea 应该让内容远离 iPhone X 和类似设备中的缺口,但它不能在我的 pixel3 XL 虚拟设备上运行(我无法在物理 android 设备上测试它,因为我的手机有一个弹出式摄像头)。这个功能是 IOS 专用的吗?无论操作系统和缺口尺寸如何,有没有其他方法可以让我的内容远离缺口?

这是我的代码。

void main() {
  runApp(
    MaterialApp(
      debugShowCheckedModeBanner: false,
      title: "SafeArea Demo",
      theme: ThemeData(fontFamily: 'Roboto'),
      home: Scaffold(
        body: Home(),
      ),
    ),
  );
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Stack(
      fit: StackFit.expand,
      children: [
        setBackGround(),
        SafeArea(
          child: Text(
            "Pramod Pardeshi",
            style: TextStyle(color: Color(0xFFFEFEFE), fontSize: 25),
            textScaleFactor: 1.5,
          ),
        ),
        //setGrid(),
      ],
    );
  }

这是它的外观。

【问题讨论】:

    标签: flutter flutter-layout


    【解决方案1】:

    尝试将整个 App 或至少将 Scaffold 小部件包装在 Safearea 小部件中。

    如果这不起作用,则可能是您使用的模拟器未报告其缺口。在实际的手机上它应该可以工作。

    【讨论】:

    • 我同意这个答案,因为状态栏与真实设备上的缺口高度相同
    【解决方案2】:

    @MindStudio 是对的。在介质上找到了这个article。根据它,必须从开发人员选项中启用notch,尽管它只能用于带有android P的AVD。在其他任何地方都没有提到较低版本,因为我使用的是android Oreo,我认为这可能是一个问题。我将它更新为 android Q 并且它工作了!

    【讨论】:

      猜你喜欢
      • 2016-11-28
      • 2015-03-20
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多