英雄联盟 LOL - leagueoflegends
Flutter 编写,不定时更新,最近更新 2024-10-15
Flutter 技术交流QQ群 :623512997


平台 |
支持 |
说明 |
下载 |
Android Pad |
✅ |
平板 Tablet 电视 TV |
- |
Android Phone |
⛔ |
不准备支持 |
尺寸不匹配 |
IOS Phone |
⛔ |
不准备支持 |
尺寸不匹配 |
macOS |
✅ |
等待 |
|
Windows |
✅ |
Windows 7 以上的64位系统. |
- / 可能需要安装C++ runtime 2015 |
GNU/Linux |
✅ |
等待 |
|
Web |
✅ |
等待 |
|
var plusPaint = Paint()..color = const Color(0xFF9A8F68);
// 获取SVG的宽度
double svgWidth = plusPath.getBounds().width;
// 定义缩放变换矩阵
Matrix4 matrix = Matrix4.identity();
// 缩放比例 目标宽度 除以 Svg宽度 再除以 2等于缩放比例
double scale = size.width / svgWidth / 2;
// 计算居中的偏移量
var offsetX = (size.width - svgWidth * scale) / 2;
var offsetY = (size.width - svgWidth * scale) / 2;
// 偏移坐标点
matrix.translate(offsetX, offsetY);
// 在X和Y轴上缩放
matrix.scale(scale);
Path drawplusPath = Path();
// 绘制PATH
drawplusPath = plusPath.transform(matrix.storage);
canvas.drawPath(drawplusPath, plusPaint);
绘制画板要用RepaintBoundary包裹,不然刷新时机乱套了
RepaintBoundary(
child: CustomPaint(
painter: painter,
),
// 方式一自动刷新 (监听可变参数)
MyPainter extends CustomPainter {
MyPainter(this.factor) : super(repaint: factor)
/// 动画控制 适用于渐变动画等
final Animation<double> factor;
/// 变量控制 用于手动触发,一次一帧
ValueNotifier<int> factor = ValueNotifier<int>(0);
}
// 方式二手动刷新
class MyPainter extends ChangeNotifier implements CustomPainter
// 刷新
mouseEnter = newMouseEnter;
notifyListeners();