我目前正在开发中的颤Android应用程序。我如何添加一个圆形按钮?

最佳答案

1.解决方案概述FlatButtonRaisedButton已被弃用。

因此,对于shapestyle,可以使用放置在TextButton属性中的ElevatedButton
还有,因为 flutter 2.0的一些变化:

  • style:属性类型已更改为 ButtonStyle
  • shape:属性类型已更改为 MaterialStateProperty<T>

  • 2.圆形按钮
    里面style属性存在shape属性:
    style: ButtonStyle(
      shape: MaterialStateProperty.all<RoundedRectangleBorder>(
        RoundedRectangleBorder(
          borderRadius: BorderRadius.circular(18.0),
          side: BorderSide(color: Colors.red)
        )
      )
    )
    
    flutter - 创建于 flutter 边界半径的圆形按钮/按键-LMLPHP
    方形按钮
    对于方形按钮,您可以使用ElevatedButton或以其他方式提出:
    style: ButtonStyle(
      shape: MaterialStateProperty.all<RoundedRectangleBorder>(
        RoundedRectangleBorder(
          borderRadius: BorderRadius.zero,
          side: BorderSide(color: Colors.red)
        )
      )
    )
    
    flutter - 创建于 flutter 边界半径的圆形按钮/按键-LMLPHP
    完整示例
    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
        )
      ]
    )
    
    

    关于flutter - 创建于 flutter 边界半径的圆形按钮/按键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49991444/

    10-09 10:01