Flutterで丸いボタン/ border-radius付きのボタンを作成する 質問する

Flutterで丸いボタン/ border-radius付きのボタンを作成する 質問する

現在、Flutter で Android アプリを開発しています。丸いボタンを追加するにはどうすればいいでしょうか?

ベストアンサー1

1. ソリューションの概要

FlatButtonRaisedButton推奨です。

したがって、およびには、 プロパティshapeに配置された which を使用できます。styleTextButtonElevatedButton

Flutter 2.0 以降、いくつか変更点があります。

2. 丸いボタン

プロパティ内にはstyle次のプロパティが存在しますshape:

style: ButtonStyle(
  shape: MaterialStateProperty.all<RoundedRectangleBorder>(
    RoundedRectangleBorder(
      borderRadius: BorderRadius.circular(18.0),
      side: BorderSide(color: Colors.red)
    )
  )
)

ここに画像の説明を入力してください

四角いボタン

正方形のボタンの場合は、ElevatedButton以下を使用したり追加したりできます。

style: ButtonStyle(
  shape: MaterialStateProperty.all<RoundedRectangleBorder>(
    RoundedRectangleBorder(
      borderRadius: BorderRadius.zero,
      side: BorderSide(color: Colors.red)
    )
  )
)

ここに画像の説明を入力してください

完全な例

Row(
  mainAxisAlignment: MainAxisAlignment.end,
  children: [
    TextButton(
      child: Text(
        "Add to cart".toUpperCase(),
        style: TextStyle(fontSize: 14)
      ),
      style: ButtonStyle(
        padding: MaterialStateProperty.all<EdgeInsets>(EdgeInsets.all(15)),
        foregroundColor: MaterialStateProperty.all<Color>(Colors.red),
        shape: MaterialStateProperty.all<RoundedRectangleBorder>(
          RoundedRectangleBorder(
            borderRadius: BorderRadius.circular(18.0),
            side: BorderSide(color: Colors.red)
          )
        )
      ),
      onPressed: () => null
    ),
    SizedBox(width: 10),
    ElevatedButton(
      child: Text(
        "Buy now".toUpperCase(),
        style: TextStyle(fontSize: 14)
      ),
      style: ButtonStyle(
        foregroundColor: MaterialStateProperty.all<Color>(Colors.white),
        backgroundColor: MaterialStateProperty.all<Color>(Colors.red),
        shape: MaterialStateProperty.all<RoundedRectangleBorder>(
          RoundedRectangleBorder(
            borderRadius: BorderRadius.zero,
            side: BorderSide(color: Colors.red)
          )
        )
      ),
      onPressed: () => null
    )
  ]
)

おすすめ記事