flutter中ClipOval等组件不会自动裁剪?

新手上路,请多包涵
import 'package:flutter/material.dart';

class ClipRoute extends StatefulWidget {
  ClipRoute({Key key}) : super(key: key);
  @override
  _ClipRouteState createState() => _ClipRouteState();
}

class _ClipRouteState extends State<ClipRoute> {
  @override
  Widget build(BuildContext context) {
    Widget avator = Image.asset('image/t.png', width: 60);
    return Scaffold(
        appBar: AppBar(
          backgroundColor: Colors.grey,
          title: Text('ClipRoute'),
        ),
        body: Column(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          mainAxisSize: MainAxisSize.max,
          children: <Widget>[
            avator,
            ClipOval(
              child: avator,
            ),
            ClipOval(
              child: avator,
              clipper: MyClipper(),
            ),
            ClipRRect(
              child: avator,
              borderRadius: BorderRadius.circular(10),
            ),
            ClipRect(
              child: avator,
            )
          ],
        ));
  }
}

class MyClipper extends CustomClipper<Rect> {
  @override
  Rect getClip(Size size) {
    return new Rect.fromLTRB(10.0, 10.0, size.width - 10.0, size.height - 10.0);
  }

  @override
  bool shouldReclip(CustomClipper<Rect> oldClipper) {
    return true;
  }
}

image.png

阅读 1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题