TextField
の高さをコンテナの高さと同じにします。以下のコードを確認し、コンテナのTextField
match_parentを作成する方法を教えてください。この質問を確認しました flutterのwrap_contentとmatch_parentに相当しますか? ですが、解決策が見つかりませんでした。コンテナの高さと幅を完全に取得するには、TextField
を作成する必要があります。
new Container(
height: 200.0,
decoration: new BoxDecoration(
border: new Border.all(color: Colors.black)
),
child: new SizedBox.expand(
child: new TextField(
maxLines: 2,
style: new TextStyle(
fontSize: 16.0,
// height: 2.0,
color: Colors.black
),
decoration: const InputDecoration(
hintText: "There is no data",
contentPadding: const EdgeInsets.symmetric(vertical: 40.0),
)
),
),
)
下のスクリーンショットを確認してください。TextField
の全高を取得するにはContainer
が必要です
私の解決策は次のとおりです。
Container(
height: 200,
color: Color(0xffeeeeee),
padding: EdgeInsets.all(10.0),
child: new ConstrainedBox(
constraints: BoxConstraints(
maxHeight: 200.0,
),
child: new Scrollbar(
child: new SingleChildScrollView(
scrollDirection: Axis.vertical,
reverse: true,
child: SizedBox(
height: 190.0,
child: new TextField(
maxLines: 100,
decoration: new InputDecoration(
border: InputBorder.none,
hintText: 'Add your text here',
),
),
),
),
),
),
),
それは私にとってはかなり良いです。そして、これがスクリーンショットです。
コードの数行を削除して、フラッターの仕組みを理解しましょう。
200
toContainer。 Container
はその子(この場合はSizedBox.expand)に基づいて高さを調整できませんContainer
が画面全体(を占有しましたSizedBox.expand
SizedBox
が本当に必要なのでしょうか。それを削除して、何が起こるか見てみましょう。Container
はTextField
をラップします。しかし、上下にいくらかのスペースがあります。上記の画像を表示するコードの最終バージョン
new Container(
// height: 200.0,
decoration: new BoxDecoration(
border: new Border.all(color: Colors.black)
),
child: new TextField(
maxLines: 2,
style: new TextStyle(
fontSize: 16.0,
// height: 2.0,
color: Colors.black
),
decoration: const InputDecoration(
hintText: "There is no data",
// contentPadding: const EdgeInsets.symmetric(vertical: 40.0),
)
),
)