Files
Hacki/lib/screens/widgets/circle_tab_indicator.dart
2022-04-27 19:33:53 -07:00

29 lines
782 B
Dart

import 'package:flutter/material.dart';
class CircleTabIndicator extends Decoration {
CircleTabIndicator({required Color color, required double radius})
: _painter = _CirclePainter(color, radius);
final BoxPainter _painter;
@override
BoxPainter createBoxPainter([VoidCallback? onChanged]) => _painter;
}
class _CirclePainter extends BoxPainter {
_CirclePainter(Color color, this.radius)
: _paint = Paint()
..color = color
..isAntiAlias = true;
final Paint _paint;
final double radius;
@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);
}
}