Widget build(context) {
return Row(
mainAxisSize: MainAxisSize.min,
children: [
Container(
width: 300,
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
color: color ?? Colors.blue,
borderRadius: BorderRadius.circular(10)
),
child: msg
)
],
);
}
これは私のウィジェットのビルドメソッドであり、msg
パラメータとして渡すものに応じて、このUIをレンダリングします
今私が直面している問題は、幅を設定せずにこのコンテナー/青いボックス内にテキストを折り返すことができないということですが、コンテナー/青いボックスの幅を設定すると、テキストがどれほど短くても常に広いままになります。
コンテナ/ブルーボックスのmaxWidth(たとえば、500としましょう)を設定する方法はありますか?青いボックスが「読み込み中」のような小さなテキストに必要な幅になり、長いテキストの場合は500ユニットの幅に達するまで拡大し、テキストを折り返しますか?
長いテキストに必要な出力:
次のように、優先されるmaxWidth
を使用してコンテナウィジェットに制約を追加できます。
Widget build(context) {
return Row(
mainAxisSize: MainAxisSize.min,
children: [
Container(
constraints: BoxConstraints(minWidth: 100, maxWidth: 200),
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
color: color ?? Colors.blue,
borderRadius: BorderRadius.circular(10)
),
child: msg
)
],
);
}
これが役に立てば幸いです!
テキストの周りにフレキシブルを使用してから、フレキシブルを固定サイズのコンテイナーでラップしますか?ただのアイデア。