Flutter tabbar圆形indicator

import 'package:flutter/cupertino.dart';

class CircleTabIndicatorextends Decoration{

  final BoxPainter_painter;

  CircleTabIndicator({@required Color color, @required double radius}) :_painter =_CirclePainter(color, radius);

  @override

  BoxPaintercreateBoxPainter([onChanged]) =>_painter;

}

class _CirclePainterextends BoxPainter{

  final Paint_paint;

  final doubleradius;

  _CirclePainter(Color color, this.radius)

      :_paint =Paint()

    ..color = color

..isAntiAlias =true;

  @override

  void paint(Canvas canvas, Offset offset, ImageConfiguration cfg) {

    final Offset circleOffset = offset +Offset(cfg.size.width /2, cfg.size.height -radius);

    canvas.drawCircle(circleOffset, radius, _paint);

  }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容