标签: flutter-layout

不正确使用父数据小部件。扩展小部件必须放置在 flex 小部件内

我收到以下错误:

即,抛出了另一个异常:ParentDataWidget 的错误使用。在手机屏幕上显示错误。

 @override
  Widget build(BuildContext context) {

    return MaterialApp(
      title: widget.title,
      theme: ThemeData.light().copyWith(
        platform: _platform ?? Theme.of(context).platform,
      ),
      home: DefaultTabController(
        length: categoryNames.length,
        child: Scaffold(
        appBar: AppBar(
          title: Text(widget.title),
                 ),
        body: SafeArea(
            child: Column(
              children: <Widget>[
                Chewie(
                  controller: _chewieController,
                ),
                TabBar(
                  labelColor:Colors.black,
                  tabs: categoryNames,
                ),
                Expanded(
                  child: TabBarView(
                    children: [
                      ImageList()
                    ],
                  ),
                )
                /*TabBarView(
                  children: [
                    Icon(Icons.directions_car),
                    Icon(Icons.directions_transit),
                    Icon(Icons.directions_bike),
                  ],
                )*/
              ],
            )
        ),
      ),
      ),
    );
  }
Run Code Online (Sandbox Code Playgroud)

这是我的代码,请检查并让我知道问题。

widget dart flutter flutter-layout flutter-widget

116
推荐指数
8
解决办法
13万
查看次数

在 Flutter 中使用 borderRadius 为容器添加边框

Container(
      child: Text(
          'This is a Container',
          textScaleFactor: 2,
          style: TextStyle(color: Colors.black),
      ),

      decoration: BoxDecoration(
          borderRadius: BorderRadius.circular(10),
          color: Colors.white,
          border: Border(
              left: BorderSide(
                  color: Colors.green,
                  width: 3,
              ),
            ),
          ),
      height: 50,
     ),
Run Code Online (Sandbox Code Playgroud)

这应该显示一个圆形边缘的容器,带有 3px 宽的绿色左边框,以及子文本“这是一个容器”。然而,它只是显示了一个圆边容器,带有一个不可见的子元素和一个不可见的左边框。

当我取出borderRadius对象时,子Text和绿色左边框可见,但引入它再次隐藏了左边框和子Text。

主要问题似乎是自定义左边框,因为使用border: Border.all(width: 0)borderRadius: BorderRadius.circular(10)使边缘根据需要变圆并显示孩子。但是现在我无法应用在这个特定设置中非常重要的绿色左边框。

那么我做错了什么,或者这是颤振中的错误,还是只是不允许的事情?

先感谢您。

编辑:下图是最终结果。颜色不重要

这是它应该看起来的样子

dart flutter flutter-layout

64
推荐指数
4
解决办法
16万
查看次数

按钮宽度匹配父级:颤动

我是Flutter的新手,所以我想知道如何设置宽度以匹配父布局宽度

 new Container(
              width: 200.0,
              padding: const EdgeInsets.only(top: 16.0),
              child: new RaisedButton(
                child: new Text(
                    "Submit",
                    style: new TextStyle(
                      color: Colors.white,
                    )
                ),
                colorBrightness: Brightness.dark,
                onPressed: () {
                  _loginAttempt(context);
                },
                color: Colors.blue,
              ),
            ),
Run Code Online (Sandbox Code Playgroud)

我对Expanded标签知之甚少,但Expanded扩展视图向两个方向,我不知道该怎么做.如果你知道,请帮助我,先谢谢你.

dart flutter flutter-layout

59
推荐指数
10
解决办法
7万
查看次数

颤动中的圆角图像

我正在使用Flutter列出有关电影的信息.现在我想要左边的封面图片是圆角图片.我做了以下,但它没有奏效.谢谢!

    getItem(var subject) {
    var row = Container(
      margin: EdgeInsets.all(8.0),
      child: Row(
        children: <Widget>[
          Container(
            width: 100.0,
            height: 150.0,
            decoration: BoxDecoration(
              borderRadius: BorderRadius.all(Radius.circular(8.0)),
              color: Colors.redAccent,
            ),
            child: Image.network(
              subject['images']['large'],
              height: 150.0,
              width: 100.0,
            ),
          ),
        ],
      ),
    );
    return Card(
      color: Colors.blueGrey,
      child: row,
    );
  }
Run Code Online (Sandbox Code Playgroud)

如下

在此输入图像描述

flutter flutter-layout

59
推荐指数
14
解决办法
5万
查看次数

颤动 - 在文本中插入溢出省略号

我正在尝试创建一个中心文本具有最大大小的行,如果文本内容太大,则它适合大小.

我插入TextOverflow.ellipsis属性来缩短文本并插入三点...但它不起作用.

main.dart

import 'package:flutter/material.dart';

void main() {
runApp(new MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: new HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) => new Scaffold(
    appBar: new AppBar(
      backgroundColor: new Color(0xFF26C6DA),
    ),
    body: new ListView  (
      children: <Widget>[
        new Card(
          child: new Container(
            padding: new EdgeInsets.symmetric(horizontal: 16.0, vertical: 18.0),
            child: new Row(
              children: <Widget>[
                new Container(
                  padding: new EdgeInsets.only(right: …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

56
推荐指数
15
解决办法
4万
查看次数

Flutter:“RenderFlex 子项具有非零 flex,但传入的高度约束是无界的”

ListView当我FutureBuilder用 a包装时,我想在另一个小部件内部有一个小部件Column,以便有一个简单的Row. 我收到此错误:

The following assertion was thrown during performLayout():
I/flutter (13816): RenderFlex children have non-zero flex but incoming height constraints are unbounded.
I/flutter (13816): When a column is in a parent that does not provide a finite height constraint, for example, if it is
I/flutter (13816): in a vertical scrollable, it will try to shrink-wrap its children along the vertical axis. Setting a
I/flutter (13816): flex on a child (e.g. using Expanded) …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

52
推荐指数
3
解决办法
7万
查看次数

以编程方式在Flutter上显示/隐藏小部件

在Android上,每个View子类都有一个"setVisibility"方法,允许您修改View对象的可见性

设置可见性有3个选项:

  • visibile:在布局中呈现视图可见
  • 不可见:隐藏视图,但留下的间隙等于视图在可见时占用的间隔
  • 消失:隐藏视图,并将其从布局中完全删除.好像它的高度和宽度都是0dp

Flutter中的Widgets是否有与上述相同的东西?

有关快速参考:https://developer.android.com/reference/android/view/View.html#attr_android : visibility

dart flutter flutter-layout

44
推荐指数
12
解决办法
5万
查看次数

Flutter:如何以编程方式打开 Drawer

我想以Drawer编程方式打开而不是通过滑动它,如何禁用该滑动功能(抽屉的触摸功能)

dart flutter flutter-layout

44
推荐指数
5
解决办法
3万
查看次数

颤动对齐极端的两个项目 - 一个在左边,一个在右边

我试图在左边的一个极端和右边的一个极端对齐两个项目.我有一行与左边对齐,然后该行的子项与右边对齐.但是,子行似乎从其父级中获取了对齐属性.这是我的代码

var SettingsRow = new Row(
            mainAxisAlignment: MainAxisAlignment.end,
            crossAxisAlignment: CrossAxisAlignment.center,
            mainAxisSize: MainAxisSize.max,
            children: <Widget>[
                Text("Right",softWrap: true,),
            ],
        );

        var nameRow = new Row(
            mainAxisAlignment: MainAxisAlignment.start,
            crossAxisAlignment: CrossAxisAlignment.center,
            mainAxisSize: MainAxisSize.max,
            children: <Widget>[
                Text("Left"),
                SettingsRow,
            ],
        );
Run Code Online (Sandbox Code Playgroud)

结果我得到了这样的东西

Left Right
Run Code Online (Sandbox Code Playgroud)

我想要的是什么

Left      Right
Run Code Online (Sandbox Code Playgroud)

Row上还有足够的空间.我的问题是为什么Row不展示其MainAxisAlignment.end财产?

flutter flutter-layout

43
推荐指数
5
解决办法
2万
查看次数

Flutter中Column的孩子之间的空间

我有一个Column小部件,有两个TextField小部件作为孩子,我想在他们两个之间有一些空间.

我已经尝试了mainAxisAlignment: MainAxisAlignment.spaceAround,但结果不是我想要的.

dart flutter flutter-layout

43
推荐指数
10
解决办法
3万
查看次数

标签 统计

flutter ×10

flutter-layout ×10

dart ×8

flutter-widget ×1

widget ×1