-
OverflowBox
-
SizedOverflowBox
构造函数
const ClipRect({ Key? key, this.clipper, this.clipBehavior = Clip.hardEdge, Widget? child })
属性说明
| 属性 | 说明 | 取值 |
| :-: | :-: | :-: |
| clipper | 定义裁剪规则 | CustomClipper
| clipBehavior① | 裁剪方式 | Clip枚举 |
| child | 被裁剪组件 | Widget |
clipBehavior①
| 属性 | 说明 |
| :-: | :-: |
| none | 不裁剪,系统默认值 |
| hardEdge | 裁剪但不应用抗锯齿 |
| antiAlias | 裁剪而且抗锯齿 |
| antiAliasWithSaveLayer | 裁剪、抗锯齿而且有一个缓冲区 |
示例(heightFactor裁剪高度百分比)
代码
ClipRect(child: Center(
heightFactor: 0.6,
child: Container(color: Colors.grey,child: Image.asset(“images/flutter.png”),width: 150,height: 150,),
),),
裁剪前效果图
裁剪后效果图
2.2 ClipRRect-圆角裁剪
构造函数
const ClipRRect({
Key? key,
this.borderRadius = BorderRadius.zero,
this.clipper,
this.clipBehavior = Clip.antiAlias,
Widget? child,
})
属性说明
- borderRadius:默认圆角半径是0,没有裁剪
示例
代码
ClipRRect(borderRadius: BorderRadius.circular(20), child: Image.asset(“images/rabbit.jpg”,width: 150,height: 150,)),
效果图
2.3 ClipOval—椭圆裁剪
构造函数
const ClipOval({Key? key, this.clipper, this.clipBehavior = Clip.antiAlias, Widget? child})
说明
-
如果父组件为正方形,切出来是圆形
-
如果父组件为长方形,切出来是椭圆形
示例
代码
ClipOval( child: Image.asset(“images/rabbit.jpg”,width: 200,height: 150,fit: BoxFit.cover)),
效果图
2.4 ClipPath.shape—路径裁剪
说明
-
不直接使用ClipPath构造函数,而调用ClipPath.shape进行路径裁剪
-
shape
参数是ShapeBorder类型,系统已经定义了很多形状
| 属性 | 说明 |
| :-: | :-: |
| RoundedRectangleBorder | 圆角矩形 |
| StadiumBorder | 足球形 |
| BeveledRectangleBorder | 斜角矩形 |
示例
代码
ClipPath.shape(
shape: StadiumBorder(),
child: Container(height: 150, width: 250, child: Image.asset(‘images/rabbit.jpg’, fit: BoxFit.cover,),
),
)
效果图
最后
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析
资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
码,还包括各种优秀的开源库。
[外链图片转存中…(img-SxgpYB8g-1714732559926)]
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析
[外链图片转存中…(img-n2OVtVGM-1714732559927)]
资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!