Flutter - 3种方式实现圆形背景,圆形头像

谁借莪1个温暖的怀抱¢ 2021-09-13 15:34 1103阅读 0赞

一、Flutter 里面实现实现圆形剪切有3种方法:

  • Container decoration 装饰器里设置圆形+圆角
  • ClipOval
  • CircleAvatar

ClipOval 只能剪切图片,CircleAvatar 和 Container 能适配复杂视图,比如这样:
在这里插入图片描述
第一种方法 Container:

  1. class EE extends StatelessWidget {
  2. @override
  3. Widget build(BuildContext context) {
  4. return Container(
  5. width: 350,
  6. height: 350,
  7. alignment: Alignment.center,
  8. decoration: BoxDecoration(
  9. image: DecorationImage(image: AssetImage(
  10. "assets/icons/icon_3.png"),
  11. fit: BoxFit.cover
  12. ),
  13. borderRadius: BorderRadius.circular(1000)),
  14. child: Text(
  15. "AAAAAAAAAA",
  16. style: TextStyle(
  17. fontSize: 30,
  18. color: Colors.lightGreenAccent,
  19. ),
  20. ),
  21. );
  22. }
  23. }

第二种方式 CircleAvatar:

  1. class FF extends StatelessWidget {
  2. @override
  3. Widget build(BuildContext context) {
  4. return CircleAvatar(
  5. backgroundImage: AssetImage(
  6. "assets/icons/icon_3.png",
  7. ),
  8. maxRadius: 200,
  9. child: Text(
  10. "AAAAAAAAAA",
  11. style: TextStyle(
  12. fontSize: 30,
  13. color: Colors.lightGreenAccent,
  14. ),
  15. ),
  16. );
  17. }
  18. }

第三种方式 ClipOval:

  1. class DD extends StatelessWidget {
  2. @override
  3. Widget build(BuildContext context) {
  4. return Column(
  5. mainAxisAlignment: MainAxisAlignment.center,
  6. children: <Widget>[
  7. ClipOval(
  8. child: Container(
  9. child: Image(
  10. image: AssetImage("assets/icons/icon_2.jpg"),
  11. height: 300,
  12. width: 300,
  13. fit: BoxFit.cover,
  14. ),
  15. ),
  16. ),
  17. ],
  18. );
  19. }
  20. }

转自:https://juejin.im/post/5d6d1c33f265da03d60f1a93

发表评论

表情:
评论列表 (有 0 条评论,1103人围观)

还没有评论,来说两句吧...

相关阅读

    相关 圆形头像处理

    很多上传头像是会用到圆形的头像,今天写了一个小方法,可以把图片处理成圆形的,感觉有用的直接拿去用: 不多说直接上代码,希望大家多多支持 //把图片处理成圆形

    相关 Android圆形头像实现

    ![这里写图片描述][SouthEast] 如图所示,实现一个QQ圆形头像,话不多说,直接上代码,继承ImageView类,重写里面的方法: package com