v1.0.1
path_drawing
一個用於協助建立和操作(Canvas)路徑的 Flutter 庫
223喜歡 81.7萬近 30 天下載140Pub 分數
AndroidiOSWebmacOSWindowsLinux
dnfield/flutter_path_drawing open-source repository details.
^2.1.0^1.3.0^1.0.1{"sdk":"flutter"}^1.8.0^1.16.0{"sdk":"flutter"}以下為英文專案原文快照,最新內容請造訪 GitHub。
A Flutter library to assist with creating and manipulating paths.
Currently supports parsing a Path from an SVG path data string
(including normalizing the path commands to be amenable to Flutter's exposed
Path methods).
Dash paths has an initial implementation that relies on flutter 0.3.6 at a minimum.
Planned for future release(s):
Parse some path from svg string:
import 'package:path_drawing/path_drawing.dart';
final trianglePath = parseSvgPathData('M150 0 L75 200 L225 200 Z');
Create CustomPainter:
class FilledPathPainter extends CustomPainter {
const FilledPathPainter({
@required this.path,
@required this.color,
});
final Path path;
final Color color;
@override
bool shouldRepaint(FilledPathPainter oldDelegate) =>
oldDelegate.path != path || oldDelegate.color != color;
@override
void paint(Canvas canvas, Size size) {
canvas.drawPath(
path,
Paint()
..color = color
..style = PaintingStyle.fill,
);
}
@override
bool hitTest(Offset position) => path.contains(position);
}
Use it inside CustomPaint:
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () => print('tap'),
child: CustomPaint(
painter: FilledPathPainter(
path: trianglePath,
color: Colors.blue,
),
),
);
}
}
More examples can be found in example folder