脚手架状态栏阻止按钮触摸

问题描述 投票:0回答:3

虽然我处于全屏模式,其中状态栏被隐藏,但我右上角的菜单按钮仍然没有收到触摸。您可以在图片中看到我选择了接收触摸的顶部栏。

我的菜单按钮一半可以触摸,一半不能触摸。

我还在Widget选择模式下拍摄了Flutter Inspector

的照片

我还添加了我的自定义按钮代码。仅供参考:

class RoundIconButton extends StatelessWidget {
  RoundIconButton({
    Key key,
    @required this.onPressed,
    @required this.icon,
    this.fillColor = Colors.transparent,
  }) : super(key: key);

  final Icon icon;
  final Function onPressed;
  final Color fillColor;

  @override
  Widget build(BuildContext context) {
    return RawMaterialButton(
      child: icon,
      onPressed: onPressed,
      shape: CircleBorder(),
      fillColor: fillColor,
      constraints: BoxConstraints.tightFor(height: 50.0, width: 50.0),
    );
  }
}
flutter user-interface touch statusbar scaffold
3个回答
1
投票

你必须用 SafeArea 包裹你的脚手架,就像,

没有 SafeArea 布局看起来像:

SafeArea 布局如下:


0
投票

使用 子 SafeArea 和 SafeArea 中的正文中的脚手架插入所有页面 安全区域有缺口和底部栏避免

Scaffold(
  body: SafeArea(
    child: ...........
    ...........
  ),
),


0
投票

我遇到了同样的问题,并通过添加 SafeArea 来“解决”它;这使得与屏幕上的所有小部件进行交互成为可能,但根本问题是我在脚手架中有一个脚手架,这导致了不可见的指针吸收空间。

© www.soinside.com 2019 - 2024. All rights reserved.