嗨,凯瑟琳,欢迎您!
通过深入研究组成的小部件,可以实现所需的功能
MaterialButton。
首先,您需要Ink小部件。使用BoxDecoration可以提供更灵活的样式。
Ink然后可以包含一个InkWell小部件,该小部件可以识别
onTap并绘制飞溅效果。默认情况下,飞溅将继续到包含框的边缘,但是您可以通过提供
InkWell一个非常大的值使其变为圆形
borderRadius。
这是您要使用的按钮的示例:
Material( type: MaterialType.transparency, //Makes it usable on any background color, thanks @IanSmith child: Ink( decoration: BoxDecoration( border: Border.all(color: Colors.indigoAccent, width: 4.0), color: Colors.indigo[900], shape: BoxShape.circle, ), child: InkWell( //This keeps the splash effect within the circle borderRadius: BorderRadius.circular(1000.0), //Something large to ensure a circle onTap: _messages, child: Padding( padding:EdgeInsets.all(20.0), child: Icon( Icons.message, size: 30.0, color: Colors.white, ), ), ), )),
结果如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)