flutter —— CustomPaint 解析

基础介绍

坐标

(注意Y轴正方向是向下,数学中是向上)

flutter —— CustomPaint 解析

 

 

 CustomPaint

三层结构

CustomPaint(
  // 事件区域,如 GestureDetector 事件只能作用在 size 范围内
  size: Size.infinite,
  // 背景层
  painter: MyPainter(),
  // 中间层
  child: Text("hello"),
  // 前景层
  foregroundPainter: null,
)

核心方法

class MyPainter extends CustomPainter {

  /// [size] 为 [CustomPaint] 构造方法传入的 size
  @override
  void paint(Canvas canvas, Size size) {

  }

  @override
  bool shouldRepaint(MyPainter oldDelegate) => this != oldDelegate;
}

  

 

各类图形的绘制

声明引入的包

import 'dart:math';
import 'dart:ui' as ui;

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

  

绘制点

 

233

 

上一篇:如何保证一个textfield输入最长的文字


下一篇:【Cocos2d-x】屏蔽Emoji并解决由于Emoji导致的崩溃问题