标签: flutter-layout

在 Flutter 中,定位的 Widget 如何感觉在其父 Stack 区域之外的点击?

AStack包含MyWidget在 a 内部Positioned

Stack(
  overflow: Overflow.visible,
  children: [
    Positioned(
    top: 0.0,
    left: 0.0,
    child: MyWidget(),
  )],
);
Run Code Online (Sandbox Code Playgroud)

由于溢出Overflow.visibleMyWidget比大Stack,它显示之外的Stack,这就是我想要的。

但是,我无法在区域MyWidget外的Stack区域中点击。它只是忽略了那里的水龙头。

我如何确保MyWidget在那里接受手势?

gesture flutter flutter-layout

18
推荐指数
5
解决办法
8994
查看次数

如何为flutter应用程序设置横向模式?

我正在寻找可以有力地设置我的颤振应用程序景观方向的代码。

orientation flutter flutter-layout

18
推荐指数
3
解决办法
2万
查看次数

如何在 Flutter 中调整图标/图标按钮的大小?

我有2个问题。

  1. 如何缩放我们的图标?我的意思是不是 Flutter 的默认图标。但是当你变成一个图像时。我有一个带有如下图像的图标按钮:
Row(
                        mainAxisSize: MainAxisSize.max,
                        children: <Widget>[
                          IconButton(
                            icon: new Image.asset("images/IG.png"),
                          ),
                          IconButton(
                            icon: new Image.asset("images/Twitter.png"),
                          ),
                          IconButton(
                            icon: new Image.asset("images/Fb.png"),
                          ),
                        ],
                      )
Run Code Online (Sandbox Code Playgroud)

它只有 3 个图标。当我添加更多图标时,它会将布局分成黄黑色的砖块。如何让它们变小?

在此处输入图片说明

  1. 上面的问题是针对 IconButton 的。如何使用图像更改图标?这里是代码:

    Icon(Icons.star, color: Colors.red)

如何star使用 Image.asset更改“ ”?没有任何对其他链接的引用,只显示图标。

icons android flutter flutter-layout

18
推荐指数
1
解决办法
2万
查看次数

如何在颤动中设置滚动条颜色?

我有一个ListViewScrollbar类包裹的法线,以在向下滚动时产生滚动条。但是我想将Scrollbar颜色更改为白色,因为我的背景是深色的。

在探索了这个Scrollbar类之后,我可以看到它使用了highlightColor里面显示的主题scrollbar.dart

_themeColor = theme.highlightColor.withOpacity(1.0);

尝试将 包裹Scrollbar在 a 中,Theme但仍然没有运气。

下面是我的代码 -

Theme(
  data: ThemeData(
    highlightColor: Colors.white, //Does not work
  ),
  child: Scrollbar(
    child: ListView(
      //Normal ListView code
    ),
  ),
)
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。提前致谢。

android dart flutter flutter-layout

18
推荐指数
4
解决办法
9498
查看次数

如何在 Flutter 中的另一个提供者中使用一个提供者

我想创建一个authentication service具有不同权限和功能(例如消息)的应用程序,具体取决于用户角色。

所以我Provider为用户和登录管理创建了一个,为用户可以看到的消息创建了另一个。

现在,我想在用户登录时获取消息(一次)。在 中Widgets,我可以通过访问提供程序Provider.of<T>(context),我想这是一种Singleton. 但是我如何从另一个类(在这种情况下是另一个提供者)访问它?

dart flutter flutter-layout

18
推荐指数
3
解决办法
8739
查看次数

在 dispose() 方法中使用 Provider.of(context) 调用方法会导致“查找停用的小部件的祖先是不安全的”。

当我尝试在 State dispose 方法中调用一个方法时,如下所示。

  @override
  void dispose() {
    Provider.of<AppProvider>(context, listen: false).close();
    super.dispose();
  }
Run Code Online (Sandbox Code Playgroud)

我懂了。

The following assertion was thrown while finalizing the widget tree:
Looking up a deactivated widget's ancestor is unsafe.

At this point the state of the widget's element tree is no longer stable.

To safely refer to a widget's ancestor in its dispose() method, save a reference to the ancestor by calling dependOnInheritedWidgetOfExactType() in the widget's didChangeDependencies() method.

When the exception was thrown, this was the stack …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

18
推荐指数
1
解决办法
3236
查看次数

Flutter:找不到 ScaffoldMessenger 小部件

我试图通过点击颤动中的按钮来创建一个小吃栏,但出现异常,找不到ScaffoldMessenger小部件。相同的代码似乎在文档中提到的 Flutter示例中可以正常工作。我在这里错过了什么吗?谢谢。

\n

这是我的 main.dart 文件

\n
import \'package:flutter/material.dart\';\n\nvoid main() => runApp(MyAppWidget());\n\nclass MyAppWidget extends StatefulWidget {\n  @override\n  State<StatefulWidget> createState() {\n    return _MyAppState();\n  }\n}\n\nclass _MyAppState extends State<MyAppWidget> {\n  final _inputKey = GlobalKey<FormState>();\n  final _messangerKey = GlobalKey<ScaffoldMessengerState>();\n  String inputText = "";\n\n  String appendString() {\n    setState(() {\n      inputText += inputText;\n    });\n    return inputText;\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      scaffoldMessengerKey: _messangerKey,\n      home: Scaffold(\n        appBar: AppBar(\n          title: Text("Assignment"),\n        ),\n        body: Form(\n          key: _inputKey,\n          child: Column(\n            children: [\n              TextFormField(\n …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

18
推荐指数
3
解决办法
2万
查看次数

17
推荐指数
2
解决办法
5390
查看次数

为什么背景滤镜会模糊我的整个应用程序

我正在尝试实现与 flutter 频道上一周视频小部件中显示的效果非常相似的效果:https : //www.youtube.com/watch?v= dYRs7Q1vfYI#t =1m20s

在右侧,您会看到所需的结果,在左侧,您会看到我的应用程序中当前正在发生的事情。 右边是我的应用,左边是想要的结果

我一直在使用的代码与示例视频中的代码非常相似,使用堆栈将背景滤镜放置在我的图像上。圆形图像及其上的模糊位于一个小部件中,该小部件将放置在另一个堆栈中(与底部的文本一起)。由于我只应用了图像的一小部分过滤器,我不明白为什么整个应用程序都是模糊的。这是图像小部件的代码:

Widget build(BuildContext context) {
    var size = MediaQuery.of(context).size.width - 75;
    return Container(
      height: size,
      width: size,
      child: Stack(
        alignment: Alignment.center,
        children: <Widget>[
          Image(imageUri: "...", size: size - 30), // this is just a container with the image
          Positioned(
            top: 100,
            left: 100,
            bottom: 100,
            right: 100,
            child: BackdropFilter(
              filter: ImageFilter.blur(
                sigmaX: 5,
                sigmaY: 5,
              ),
              child: Container(
                color: Color(0x66FF0000),
              ),
            ),
          )
        ],
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

17
推荐指数
2
解决办法
4424
查看次数

DraggableScrollableSheet 内的 Listview 不会在颤动中滚动

我设计了非常重的嵌套设计,如下所示,当我的列表扩展列表视图时的问题似乎没有滚动这是什么原因,底部表被扩展但没有关注其中的列表视图,如果我滚动触摸“营业时间”文本,它开始滚动,但当它向上时,我无法向下滑动。

_showDialog(BuildContext context) {
    print("_showDialog");
    showModalBottomSheet(
      context: context,
      isScrollControlled: true,
      builder: (BuildContext context) {
        return DraggableScrollableSheet(
          expand: false,
          builder: (context, scrollController) {
            return Container(
              child: Stack(
                children: <Widget>[
                  Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: <Widget>[
                      Align(
                          alignment: Alignment.topCenter,
                          child: Container(
                              margin: EdgeInsets.symmetric(vertical: 8),
                              height: 8.0,
                              width: 70.0,
                              decoration: BoxDecoration(
                                  color: Colors.grey[400],
                                  borderRadius: BorderRadius.circular(10.0)))),
                      SizedBox(height: 16),
                      Padding(
                        padding: const EdgeInsets.symmetric(horizontal: 24),
                        child: Text('Operational Hours',
                            style: TextStyle(
                                fontWeight: FontWeight.bold,
                                fontSize: widget.isTab(context)
                                    ? TabTextStyles.mediumText
                                        .copyWith()
                                        .fontSize
                                    : PhoneTextStyles.mediumText
                                        .copyWith()
                                        .fontSize)),
                      ),
                    ],
                  ),
                  ListView(
                    controller: …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

17
推荐指数
2
解决办法
3425
查看次数