美文网首页
12.Flutter实现圆角图像的几种方法

12.Flutter实现圆角图像的几种方法

作者: 凯司机 | 来源:发表于2020-06-08 17:01 被阅读0次

方式一:CircleAvatar

CircleAvatar可以实现圆角头像,也可以添加一个子Widget:

const CircleAvatar({

  Key key,

  this.child, // 子Widget

  this.backgroundColor, // 背景颜色

  this.backgroundImage, // 背景图像

  this.foregroundColor, // 前景颜色

  this.radius, // 半径

  this.minRadius, // 最小半径

  this.maxRadius, // 最大半径

})

我们来实现一个圆形头像:

注意一:这里我们使用的是NetworkImage,因为backgroundImage要求我们传入一个ImageProvider;

ImageProvider是一个抽象类,事实上所有我们前面创建的Image对象都有包含image属性,该属性就是一个ImageProvider

注意二:这里我还在里面添加了一个文字,但是我在文字外层包裹了一个Container;

这里Container的作用是为了可以控制文字在其中的位置调整;

classHomeContentextendsStatelessWidget{

@override

Widget build(BuildContext context) {

returnCenter(

child: CircleAvatar(

radius:100,

backgroundImage: NetworkImage("https://tva1.sinaimg.cn/large/006y8mN6gy1g7aa03bmfpj3069069mx8.jpg"),

child: Container(

alignment: Alignment(0,.5),

width:200,

height:200,

child: Text("兵长利威尔")

),

),

);

}

}

方式二:ClipOval

ClipOval也可以实现圆角头像,而且通常是在只有头像时使用

classHomeContentextendsStatelessWidget{

  @override

  Widget build(BuildContext context) {

    return Center(

      child: ClipOval(

        child: Image.network(

          "https://tva1.sinaimg.cn/large/006y8mN6gy1g7aa03bmfpj3069069mx8.jpg",

          width: 200,

          height: 200,

        ),

      ),

    );

  }

}

3.3.2. 实现圆角图片

ClipRRect用于实现圆角效果,可以设置圆角的大小。

实现代码如下,非常简单:

classHomeContentextendsStatelessWidget{

  @override

  Widget build(BuildContext context) {

    return Center(

      child: ClipRRect(

        borderRadius: BorderRadius.circular(10),

        child: Image.network(

          "https://tva1.sinaimg.cn/large/006y8mN6gy1g7aa03bmfpj3069069mx8.jpg",

          width: 200,

          height: 200,

        ),

      ),

    );

  }

}

相关文章

网友评论

      本文标题:12.Flutter实现圆角图像的几种方法

      本文链接:https://www.haomeiwen.com/subject/miwrtktx.html