2017-05-18 9 views
1

私はカラムを持っていますが、サイズが違う多くのテキストエントリが含まれていて、最大のテキストと同じ幅に拡張したいと思います。兄弟の最大幅に基づいてウィジェットを表示

My TextのエントリはColorでコンテナにラップされており、すべてのコンテナをコンテナに揃えて直線的な境界線でレンダリングできるようにしたい。

どのように私はこれをフラッターで指示できますか?

+0

あなたの列には固定値がありますか?そうであれば、Expanded [https://docs.flutter.io/flutter/widgets/Expanded-class.html]にすべての子供をラップして、利用可能なスペースを取ることができます。 –

+0

これらはテキストベースではありません。 –

答えて

3

これは、IntrinsicWidthの良い使用例です。あなたは子供たちの固有の幅を決定するためにCrossAxisAlignment.stretchでそれを使用して、あなたのColumnの幅を設定するためにそれを使用することができます:

screenshot

は、ここで上記の画像を生成し、サンプルコードです。

import 'package:flutter/material.dart'; 

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

class MyApp extends StatelessWidget { 
    @override 
    Widget build(BuildContext context) { 
    return new MaterialApp(
     title: 'Flutter Demo', 
     home: new Material(
     child: new Center(
      child: new IntrinsicWidth(
      child: new Column(
       mainAxisSize: MainAxisSize.min, 
       crossAxisAlignment: CrossAxisAlignment.stretch, 
       children: [ 
       new Container(
        decoration: new BoxDecoration(color: Colors.blue[200]), 
        child: new Text('Hello'), 
       ), 
       new Container(
        decoration: new BoxDecoration(color: Colors.green[200]), 
        child: new Text('world!!!!!!!'), 
       ), 
       ], 
      ), 
     ), 
     ), 
    ), 
    ); 
    } 
} 
関連する問題