当前位置: 首页 > 知识库问答 >
问题:

如何在Flutter中创建一个圆形图标按钮?

颜骁
2023-03-14

如何创建类似于< code > floating action button 的东西?

共有3个答案

左丘成天
2023-03-14

您只需要使用形状:< code>CircleBorder()

MaterialButton(
  onPressed: () {},
  color: Colors.blue,
  textColor: Colors.white,
  child: Icon(
    Icons.camera_alt,
    size: 24,
  ),
  padding: EdgeInsets.all(16),
  shape: CircleBorder(),
)
姜学海
2023-03-14

>

  • ElevatedButton(定制更少)

    ElevatedButton(
      onPressed: () {},
      child: Icon(Icons.menu, color: Colors.white),
      style: ElevatedButton.styleFrom(
        shape: CircleBorder(),
        padding: EdgeInsets.all(20),
        primary: Colors.blue, // <-- Button color
        onPrimary: Colors.red, // <-- Splash color
      ),
    )
    

    高架按钮(具有更多自定义项)

    ElevatedButton(
      onPressed: () {},
      child: Icon(Icons.menu),
      style: ButtonStyle(
        shape: MaterialStateProperty.all(CircleBorder()),
        padding: MaterialStateProperty.all(EdgeInsets.all(20)),
        backgroundColor: MaterialStateProperty.all(Colors.blue), // <-- Button color
        overlayColor: MaterialStateProperty.resolveWith<Color?>((states) {
          if (states.contains(MaterialState.pressed)) return Colors.red; // <-- Splash color
        }),
      ),
    )
    

    使用InkWell

    ClipOval(
      child: Material(
        color: Colors.blue, // Button color
        child: InkWell(
          splashColor: Colors.red, // Splash color
          onTap: () {},
          child: SizedBox(width: 56, height: 56, child: Icon(Icons.menu)),
        ),
      ),
    )    
    

    输出(最后两个相同):

    https://imgs.xnip.cn/cj/n/51/8d930122-8b19-4a09-ae3c-230e1c501a1c.gif" width="100%" height="100%" />

  • 衡玄裳
    2023-03-14

    我认为RawMaterialButton更适合。

    RawMaterialButton(
      onPressed: () {},
      elevation: 2.0,
      fillColor: Colors.white,
      child: Icon(
        Icons.pause,
        size: 35.0,
      ),
      padding: EdgeInsets.all(15.0),
      shape: CircleBorder(),
    )
    
     类似资料:
    • 问题内容: 我想制作一个圆形的大拇指和大拇指向下的按钮。 我应该使用ImageView还是Button作为超类? 我将如何在Swift中做到这一点? 问题答案: 这是一个圆形按钮示例: 斯威夫特3: Swift 2.x:

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

    • 对于我的程序,我想让两个椭圆重叠,然后从重叠区域创建一个新形状。这样我以后可以将生成的形状与另一个形状再次组合。 最后,我想把结果,然后颜色不同。您可以想象得到的图像是一组椭圆形,其中只有某些部分的颜色不同。 我试图用来做这件事,但是我真的不知道如何创建这个新形状作为某种对象。我知道有一个叫做的方法,但是按照我的理解,它只检查形状是否与矩形相交。

    • 如何将转换为带有圆边的按钮?我使用获得了圆角边框形状,但不知怎么需要给边框着色。

    • 我想将方形图像转换为圆形图像,但当我应用“边框半径:50px”时,它给了我椭圆形的形状。我尝试了很多东西,但都不起作用。任何帮助都将不胜感激。这是我的超文本标记语言代码- <代码> 这是我的CSS代码- 这是我的图片在网站上的样子。我希望它们有一个圆形。