【Flutter】 Button風のTextFieldを作ってみる【borderの色変えもあり】

どーも、ぐるたか@guru_takaです。

Flutterでボタン風のTextFieldを作ってみました!

ちょっと詰まったところもあったので、備忘録としてまとめます。

ソース

まずはソースから!

TextField(
            decoration: InputDecoration(
              //Focusしていないとき
              enabledBorder: new OutlineInputBorder(
                borderRadius: new BorderRadius.circular(25.0),
                borderSide: BorderSide(
                  color: Colors.black,
                ),
              ),
              //Focusしているとき
              focusedBorder: OutlineInputBorder(
                borderRadius: new BorderRadius.circular(25.0),
                borderSide: BorderSide(
                  color: Colors.blue,
                  width: 3.0,
                ),
              ),
              hintText: 'にゃーん',
              contentPadding: EdgeInsets.all(16.0),
              suffixIcon: IconButton(
                icon: Icon(
                  Icons.add,
                  color: Colors.black,
                ),
                onPressed: () {},
              ),
            ),
          )

簡単な解説

ポイントはenabledBorderfocusedBorderです。

  • enabledBorderTextFieldに触れていないとき
  • focusedBorderTextFieldに入力したり触っているとき

どちらに対しても、OutlineInputBorderでボタン風の表現をしないと、どちらか一方が色がデフォルト、また枠線なしのUIになります。

それ以外はよくあるTextFieldなので、適宜、調べてみて下さい!

参考リンク

参考 TextField class公式 参考 Not able to change TextField Border ColorSTACK OVERFLOW

コメントを残す