//自定义view外凸的弧形背景
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:flutter_app/res/colors.dart';
///画板Painter
class AcrView extends CustomPainter {
Paint _paint = new Paint()
..color = MyColors.app_08C2B7 // 画笔颜色
..strokeCap = StrokeCap.round //画笔笔触类型
..isAntiAlias = true //是否启动抗锯齿
..strokeWidth = 1.0 //画笔的宽度
..style = PaintingStyle.fill;
@override
void paint(Canvas canvas, Size size) {
Rect rect1 = Rect.fromPoints(Offset(0, size.height / 4 * 3),
Offset(size.width, size.height + size.height / 4));
canvas.drawOval(rect1, _paint);
Rect rec = Rect.fromLTWH(0, 0, size.width, size.height);//绘制凸出的view
//设置自定义view渐变色
_paint.shader = LinearGradient(
begin: Alignment.topCenter,//设置渐变起始方向
end: Alignment.bottomCenter,
colors: [
MyColors.app_44D2AA,
MyColors.app_08C2B7,
]).createShader(rec);
canvas.drawRect(rec, _paint);//绘制view方块主体
}
@override
bool shouldRepaint(CustomPainter oldDelegate) {
return true;
}
}
Flutter自定义view--外凸弧形view绘制
最新推荐文章于 2022-07-05 17:32:43 发布