相关疑难解决方法(0)

如何在颤动中滚动页面

我的页面代码是这样的.我需要在appbar下方滚动部分.

@override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(... ),
      body: new Stack(
        children: <Widget>[
          new Container(
            decoration: BoxDecoration(
                image: DecorationImage(...),
          new Column(children: [
            new Container(...),
            new Container(...... ),
            new Padding(
              child: SizedBox(
                child: RaisedButton(..),
            ),
            new Divider(),
            new Column(
              children: <Widget>[
                new Container(
                  child: new Row(
                    children: <Widget>[
                      new Expanded(
                        child: new Text(  ),
                      ),
                      new IconButton(
                        icon: IconButton(..),
                        onPressed: () {
                          _changed(true, "type");
                        },
                      ),
                    ],
                  ),
                ),
                visibilityPropertyType
                    ? new Container(
                        margin: EdgeInsets.all(24.0),
                        child: …
Run Code Online (Sandbox Code Playgroud)

scrollview dart flutter flutter-layout

22
推荐指数
6
解决办法
3万
查看次数

BoxConstraints强制无限宽度

在列中添加行时出现错误。我收到以下错误:

I/flutter ( 6449): ??? EXCEPTION CAUGHT BY RENDERING LIBRARY ??????????????????????????????????????????????????????????
I/flutter ( 6449): The following assertion was thrown during performLayout():
I/flutter ( 6449): BoxConstraints forces an infinite width.
I/flutter ( 6449): These invalid constraints were provided to RenderAnimatedOpacity's layout() function 
Run Code Online (Sandbox Code Playgroud)

我的代码也可供参考:

return new Scaffold(
      backgroundColor: whiteColor,
      body: new Column(
        children: <Widget>[
          imgHeader,
          lblSignUp,
          txtEmail,
          Row(
            mainAxisAlignment: MainAxisAlignment.start,
            children: <Widget>[
              txtFirstName,
              txtLastName
            ],
          ),
        ],
      ),
    );
Run Code Online (Sandbox Code Playgroud)

flutter dart-2 flutter-layout

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

Flutter 小部件不显示

以下 Flutter 布局(一列内的两行,每行包含一个文本小部件和一个字段小部件)编译并运行 - 但文本和文本字段小部件未显示。您应该看到的是“用户名”一词后跟一行中的文本字段,以及“密码”一词后跟下一行中的文本字段。请问我做错了什么?

import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
 @override
 Widget build(BuildContext context) {
   return new MaterialApp(
     title: 'Welcome to Flutter',
     home: new Scaffold(
         appBar: new AppBar(
           title: new Text('Welcome to Flutter'),
         ),
         body: new Container(
           padding: new EdgeInsets.all(20.0),
           child: new Column(
             crossAxisAlignment: CrossAxisAlignment.start,
             children: [
               new Row(
                 mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                 children: [
                   new Text('User Name'),
                   new TextField(
                     autofocus: true,
                     decoration: new InputDecoration(
                         border: InputBorder.none,
                         hintText: 'Please enter your user name'),
                   ),
                 ], …
Run Code Online (Sandbox Code Playgroud)

flutter-layout

6
推荐指数
1
解决办法
6814
查看次数

Flutter - 如何将两列放入一行中,一列展开,另一列适合其内容文本?

有没有办法用flutter来实现这种布局?一列展开,另一列缩小以适应行内的文本。

我来自网络背景,我知道我可以使用 Flex-grow 和 Flex-shring 以及空白:nowrap 来做到这一点。

我想实现这个布局

我想实现这个布局

但在颤振中我尝试过:

  1. 这会给我两个等宽的列:
Row(
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        Expanded(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.start,
            crossAxisAlignment: CrossAxisAlignment.stretch,
            mainAxisSize: MainAxisSize.min,
            children: [Text('Monthly Membership'), Text('Subscription')],
          ),
        ),
        Flexible(
          fit: FlexFit.tight,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.stretch,
            mainAxisSize: MainAxisSize.min,
            children: [
              Text(
                '+100',
                maxLines: 1,
                softWrap: false,
                overflow: TextOverflow.fade,
              ),
              Text(
                '18 Sept 2021',
                maxLines: 1,
                softWrap: false,
                overflow: TextOverflow.fade,
              ),
            ],
          ),
        ),
      ],
    );
Run Code Online (Sandbox Code Playgroud)
  1. 这会报错。

RenderBox 未布局:RenderFlex#3024f relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE

Row(
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        Expanded( …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

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

嵌套行/列中的颤振扩展图表

我正在尝试从charts_flutter 包中获取图表以扩展以填充可用空间,当它位于列内的行内时。我花了几个小时试图做到这一点,但我一定错过了一些东西!这在视觉上是我想要实现的:

在此处输入图片说明

这是一个最小的工作示例。我一定已经尝试了上百种扩展、灵活、主轴大小、横轴对齐等组合,但我似乎无法找到正确的组合。目前底部溢出无穷大像素,object was given an infinite size during layout. 有这个open issue,不知道有没有关系,也没有答案。我只需要内部代码位的帮助runApp

import 'package:charts_flutter/flutter.dart' as charts;
import 'package:flutter/material.dart';

void main() => runApp(

  // HOW DO I LAY THIS OUT?
  Column(
    children: <Widget>[
      Container(height: 200, color: Colors.orange),
      Row(
        textDirection: TextDirection.ltr,
        children: <Widget>[
          Container(width: 200,color: Colors.orange),
          Expanded(child: SimpleTimeSeriesChart.withSampleData())
        ],
      )
    ],
  )
);

class SimpleTimeSeriesChart extends StatelessWidget {
  final List<charts.Series> seriesList;
  final bool animate;

  SimpleTimeSeriesChart(this.seriesList, {this.animate});

  factory SimpleTimeSeriesChart.withSampleData() {
    return new SimpleTimeSeriesChart(
      _createSampleData(),
      animate: …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

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

RenderFlex 子级具有非零 flex,但传入的高度约束是无界的,已尝试灵活和扩展不起作用

我有以下代码。我有谷歌

例如,行内的 TextField 导致布局异常:无法计算大小。问题是在我的情况下是这样的

TextFormField( onChanged: (value) => contactNo = value,
Run Code Online (Sandbox Code Playgroud)

我试过扩展,我试过灵活等都不起作用并给我错误。在这种情况下我还应该修复什么?我试过添加这个孩子:SingleChildScrollView( 甚至这个 mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.stretch, 然而同样的错误。

Widget _createForm(BuildContext context) {    
      return Scaffold(      
      key: _scaffoldKey,
      resizeToAvoidBottomInset: true,
      resizeToAvoidBottomPadding: false,
      backgroundColor: pagebackgroundColor,
      appBar: appBar(),
      drawer: Theme(
          data: Theme.of(context).copyWith(canvasColor: Colors.white),
          child: new ReusableWidgets().getDrawer('Sum',context)
      ),
        body: SafeArea(
                child: SingleChildScrollView(
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  crossAxisAlignment: CrossAxisAlignment.stretch,
                  children: <Widget>[
                    SizedBox(
                      height: 20.0,
                    ),

                    Row(
                      children: <Widget>[
                        RoundedCardDataNoColor(

                          child: Row( 
                            //mainAxisSize: MainAxisSize.min,
                            crossAxisAlignment: CrossAxisAlignment.center,
                            children: <Widget>[              
                              Column(
                                crossAxisAlignment: CrossAxisAlignment.start,
                                children: <Widget>[
                                        Row(
                                          crossAxisAlignment: …
Run Code Online (Sandbox Code Playgroud)

textfield flutter

4
推荐指数
1
解决办法
9865
查看次数

标签 统计

flutter ×5

flutter-layout ×5

dart ×2

dart-2 ×1

scrollview ×1

textfield ×1