2017-10-15 16 views
1

は、私はこのようなTextFieldを持っている:Flutter TextFieldのmaxLinesを動的に変更する方法はありますか?

new Flexible(
    fit: FlexFit.loose, 
    child: new Container(
     alignment: FractionalOffset.topLeft, 
     child: new TextField(
      decoration: new InputDecoration(
        hintText: 'Add a note', 
      ), 
      maxLines: 1, 
      onChanged: (value) => _showSaveOptions(value), 
     ), 
    ), 
), 

私は1からmaxLinesセットでスタートする私のTextFieldをしたいのですが、私はタイプとして、私は、MAXLINESが増加したいように、すべてのテキストはページに残り、スクロールアップする必要はありません。しかし、空のTextFieldが必要なスペースをさらに占めているので、maxLinesを5または10に設定することをやめたいと思っています。 enter image description here とI型として展開されます: enter image description here

私が考えられてきたにmaxLinesを設定し、私が実装したい行動の例は、それが1行で始まるGoogleフォームでのロング回答テキストオプション、ですユーザーが改行を検出するたびにインクリメントするカウンタですが、ユーザーが改行を入力したときはどのように判断すればよいですか?

答えて

2

フラッターがTextFieldで複数行のサポートを遅らせていました。同じことに関してissueが提起された後、0.0.16リリースで複数行の機能が追加されました。

フラッタを最新のリリースにアップグレードしてください。複数行TextFieldを使用するには:

new TextField(
    maxLines: null, 
    keyboardType: TextInputType.multiline, 
) 

希望すると助かります!

+0

これはすばらしいです、ありがとう!私はこの[issue](https://github.com/flutter/flutter/issues/12046)のためにmaxLinesをnullに設定することはできませんが、解決したらこれが動作すると期待しています。 – Mary

関連する問題