基本概念
我们的手机屏幕可以当成一块画板(Canvas),使用我们自定义的Painter,就能绘制出各种图形。而Flutter中提供了CustomPaint组件来方便使用自定义动画。
CustomPaint
1 | const CustomPaint({ |
CustomPainter
CustomPainter是一个抽象类,用于自定义绘制逻辑。需要实现paint和shouldRepaint方法。
1 |
|
我们的手机屏幕可以当成一块画板(Canvas),使用我们自定义的Painter,就能绘制出各种图形。而Flutter中提供了CustomPaint组件来方便使用自定义动画。
1 | const CustomPaint({ |
CustomPainter是一个抽象类,用于自定义绘制逻辑。需要实现paint和shouldRepaint方法。
1 |
|
AndroidView、PlatformViewLink、UiKitView是表示Platform View的Widget接口,它们底层分别对应的RenderObject是RenderAndroidView、PlatformViewRenderBox、RenderUiKitView,前者基于TextureLayer进行真正的绘制,后两者给予PlatformViewLayer进行绘制。使用TextureLayer方式被称为Virtual Display,仅Android支持。使用PlatformViewLayer被称为Hybrid Composition,Android和iOS都支持。PlatformViewController和UiKitViewController时对Platform View中使用的Platform Channel的抽象封装,用于控制Platform View在Embedder中的各种属性和表现。
1 | Widget build(BuildContext context) { |
AndroidView对应RenderObject是RenderAndroidView