我有Ffltter的代码,我必须用Android(Kotlin)编写一个应用程序.如何将Flutter 画笔转换为Android Compose中的显示?
import 'dart:math' as math;
import 'dart:ui' as ui;
import 'package:flutter/material.dart';
class FaceOutline extends CustomPainter {
final Color frameColor;
FaceOutline(this.frameColor);
@override
void paint(ui.Canvas canvas, ui.Size size) {
final Path path = Path();
final Rect rect = Rect.fromCenter(
center: size.center(Offset.zero),
width: size.width * 0.95,
height: size.width * 0.95,
);
path.addArc(
rect.translate(0.0, -rect.height * 0.4),
math.pi * 9.0 / 8.0,
math.pi * 2.0 / 8.0,
);
path.addArc(
rect.translate(0.0, -rect.height * 0.4),
math.pi * 13.0 / 8.0,
math.pi * 2.0 / 8.0,
);
path.addArc(
rect.translate(0.0, rect.height * 0.00),
math.pi * 1.0 / 8.0,
math.pi * 2.0 / 8.0,
);
path.addArc(
rect.translate(0.0, rect.height * 0.00),
math.pi * 5.0 / 8.0,
math.pi * 2.0 / 8.0,
);
canvas.drawPath(
path,
Paint()
..filterQuality = FilterQuality.low
..isAntiAlias = true
..strokeWidth = 8
..strokeCap = StrokeCap.round
..strokeJoin = StrokeJoin.round
..style = PaintingStyle.stroke
..color = frameColor
..blendMode = BlendMode.screen,
);
}
@override
bool shouldRepaint(FaceOutline oldDelegate) {
return frameColor != oldDelegate.frameColor;
}
}
我可以使用XML或Compose在Kotlin中显示它,但我必须知道如何在Compose视图中用原生Android编写Flutter 代码.
您可以判断代码: https://dartpad.dev/?id=b426645ba864beaa66d18212128a71cd个
这是我想要的: