在前面的文章中,我们介绍了Dart
的两种编译时,以及Hot reload
模式。今天我们来看下在Flutter
中创建不规则Widget的方式。Android
原生中,我们在创建不规则边界View
时,是通过clipPath
的方式来实现,在Flutter
中也有相关的概念,下面我们来学习下Flutter
中的ClipPath
相关概念及用法。
ClipPath Widget
前面我们说过在Flutter
中Everything is Widget
,那么要使用Path
自然也有对应的Widget
对象-ClipPath
。
ClipPath Extends Map
ClipPath
Widget
继承关系如下图:
enter image description here
ClipPath Introduce
官方文档中ClipPath
说明如下:
A widget that clips its child using a path.
和ClipPath
相关的属性有三个:
- child:
Widget
类型,裁剪的Widget
对象 - clipper:定义裁剪路径的
CustomClipper
对象,其内部提供一个裁剪路径和是否需要重新裁剪 - clipBehavior:裁剪
Widget
的模式,默认取值为Clip.antiAlias
,可选取值有Clip.none
,Clip.hardEdge
,Clip.antiAlias
,Clip.antiAliasWithSaveLayer
.
裁剪模式取值的区别:
- none:无模式
- h