简体   繁体   中英

Flutter Wrap overflowed Text

            title: Text("Campaign Information"),
            children: <Widget>[
              Row(
                children: <Widget>[
                  Column(
                    children: <Widget>[
                      Row(
                        children: <Widget>[
                          Text("Long Long Information1"),
                          SizedBox(width: 10),
                          Container(
                            width: 100,
                            child: TextFormField(
                              maxLength: 10,
                              maxLines: 1,
                            ),
                          )
                        ],
                      ),
                      Row(
                        children: <Widget>[
                          Text("222"),
                          SizedBox(width: 10),
                          Container(
                            width: 100,
                            child: TextFormField(
                              maxLength: 10,
                              maxLines: 1,
                            ),
                          )
                        ],
                      ),
                    ],
                  ),
                  Column(
                    children: <Widget>[
                      Row(
                        children: <Widget>[
                          Text("Long Long Information2"),
                          SizedBox(width: 10),
                          Container(
                            width: 100,
                            child: TextFormField(
                              maxLength: 10,
                              maxLines: 1,
                            ),
                          ),
                        ],
                      ),
                      Row(
                        children: <Widget>[
                          Text("333"),
                          SizedBox(width: 10),
                          Container(
                            width: 100,
                            child: TextFormField(
                              maxLength: 10,
                              maxLines: 1,
                            ),
                          ),
                        ],
                      ),
                    ],
                  ),
                ],
              ),
              SizedBox(width: 50),
            ],
          ),

右溢出

I'm new from flutter, i trying to create a form with ExpansionTile, and this project will able to disply in desktop mode and mobile mode. I trying to wrap the "information2" below the "information1" I researched through all the documentation about the wrap and i tried everything I can, but the text will unwrap and overflowed from the small screen. Does anyone know how to achieve this? Appreciated!

There are many ways to solve this error.

You can use this approach by using Expanded widget and flex .

title: Text("Campaign Information"),
          children: <Widget>[
            Row(
              children: <Widget>[
                Expanded(
                  flex: 1,
                  child: Column(
                    children: <Widget>[
                      Row(
                        children: <Widget>[
                          Expanded(child: Text("Long Long Information1"),flex: 1,),
                          SizedBox(width: 10),
                          Expanded(
                            flex: 1,
                            child: Container(
                              width: 100,
                              child: TextFormField(
                                maxLength: 10,
                                maxLines: 1,
                              ),
                            ),
                          )
                        ],
                      ),
                      Row(
                        children: <Widget>[
                          Expanded(child: Text("222"), flex: 1,),
                          SizedBox(width: 10),
                          Expanded(
                            flex: 1 ,
                            child: Container(
                              width: 100,
                              child: TextFormField(
                                maxLength: 10,
                                maxLines: 1,
                              ),
                            ),
                          )
                        ],
                      ),
                    ],
                  ),
                ),
                SizedBox(width: 10),
                Expanded(
                  flex: 1,
                  child: Column(
                    children: <Widget>[
                      Row(
                        children: <Widget>[
                          Expanded(child: Text("Long Long Information2"), flex: 1,),
                          SizedBox(width: 10),
                          Expanded(
                            flex: 1,
                            child: Container(
                              width: 100,
                              child: TextFormField(
                                maxLength: 10,
                                maxLines: 1,
                              ),
                            ),
                          ),
                        ],
                      ),
                      Row(
                        children: <Widget>[
                          Expanded(child: Text("333"), flex: 1,),
                          SizedBox(width: 10),
                          Expanded(
                            flex: 1,
                            child: Container(
                              width: 100,
                              child: TextFormField(
                                maxLength: 10,
                                maxLines: 1,
                              ),
                            ),
                          ),
                        ],
                      ),
                    ],
                  ),
                ),
              ],
            ),
            SizedBox(width: 50),
          ],

模拟器截图


If you want a maximum one line text for your UI, use overflow and maxLine key like this:

Text("Some text", maxLines: 1, overflow: TextOverflow.ellipsis,),

If you want to wrap use the Wrap widget!

Here you go:

import 'package:flutter/material.dart';

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

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

class BarneAnestesi extends StatefulWidget {
  @override
  _BarneAnestesiState createState() => _BarneAnestesiState();
}

class _BarneAnestesiState extends State<BarneAnestesi> {
  String alder;
  final List<String> items = ['Nyfødt', '2 mnd.', '1 år', '2 år', '4 år', '7 år'];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: new Column(
        children: <Widget>[
          Wrap(
            children: <Widget>[
              Column(
                children: <Widget>[
                  Row(
                    children: <Widget>[
                      Text("Long Long Information1"),
                      SizedBox(width: 10),
                      Container(
                        width: 100,
                        child: TextFormField(
                          maxLength: 10,
                          maxLines: 1,
                        ),
                      )
                    ],
                  ),
                  Row(
                    children: <Widget>[
                      Text("222"),
                      SizedBox(width: 10),
                      Container(
                        width: 100,
                        child: TextFormField(
                          maxLength: 10,
                          maxLines: 1,
                        ),
                      )
                    ],
                  ),
                ],
              ),
              Column(
                children: <Widget>[
                  Row(
                    children: <Widget>[
                      Text("Long Long Information2"),
                      SizedBox(width: 10),
                      Container(
                        width: 100,
                        child: TextFormField(
                          maxLength: 10,
                          maxLines: 1,
                        ),
                      ),
                    ],
                  ),
                  Row(
                    children: <Widget>[
                      Text("333"),
                      SizedBox(width: 10),
                      Container(
                        width: 100,
                        child: TextFormField(
                          maxLength: 10,
                          maxLines: 1,
                        ),
                      ),
                    ],
                  ),
                ],
              ),
            ],
          ),
          SizedBox(width: 50),
        ],
      ),
    );
  }
}

您还可以使用 FittedBox() 包装您的小部件

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM