[Flutter]IconButtonとText Widgetを一列に並べる。

記事の内容はタイトル通り。意外と手間取ったのでメモ。

上の画像にあるように下のアイコンとテキストを高さを揃えて表示したい。

Row(
                  children:[
              
                    IconButton(),
                    Text()
                    ]
);

普通にコードを書くとこうなる。

しかし、勿論ながらText WidgetはIconButtonのサイズに合わせて

大きくなってくれない。

Text WidgetとIconButtonの高さを揃える(align height with IconButton)には

以下のようにするとうまくいく。

IntrinsicHeight(
        child:Row(
                  children:[
              
                    IconButton(),
                    SizedBox(
                       height: double.infinity,
                       child: FittedBox(
                        child: Text(),
                         fit: BoxFit.fitHeight,
                        )
                    )
                    ]
    )
);

IntrinsicHeightは高さを揃えるWidgetでこれでIconButtonの高さを得る。

それにSizedBoxを使ってfitHeightしたTextWIdgetを合わせる。

色々試行錯誤していけた。

FlutterのWidgetはまだ慣れてないから、ややこしく感じる…

yanto

大学生です。atcoder緑。ubuntuの民。ブログの他にアプリ開発とかやってます。趣味は読書、プログラミング。アニメ、映画も時々見ます。サムネイルに使わせていただいているサイト ・photoAC(https://www.ac-illust.com/) ・フリー素材ぱくたそ(www.pakutaso.com)

おすすめ

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA