flutter-剪裁(Clip)
Flutter中提供了一些剪裁函数,用于对组件进行剪裁。
剪裁Widget |
默认行为 |
ClipOval |
子组件为正方形时剪裁成内贴圆形;为矩形时,剪裁成内贴椭圆 |
ClipRRect |
将子组件剪裁为圆角矩形 |
ClipRect |
默认剪裁掉子组件布局空间之外的绘制内容(溢出部分剪裁) |
ClipPath |
按照自定义的路径剪裁 |
ClipOval
子组件为正方形时(记得 BoxFit.cover加上 不然没效果)
ClipOval(child:Image.asset("images/logo.jpg",
width: 200,height: 200, fit: BoxFit.cover,),)
子组件为矩形时
ClipOval(child:Image.asset("images/logo.jpg",width: 300,height: 200,
fit: BoxFit.cover,),)
ClipRRect 将子组件剪裁为圆角矩形
一、四个角同一大小圆角
ClipRRect(borderRadius:BorderRadius.circular(10),child:Image.
asset("images/logo.jpg",width: 300,height: 200,fit: BoxFit.cover,))
二、指定角设置圆角(比如左上角和右上角设置10度圆角)
ClipRRect(borderRadius:BorderRadius.
only(topLeft: Radius.circular(10),topRight: Radius.circular(10)),
child:Image.asset("images/logo.jpg",width: 300,height: 200,fit: BoxFit.cover,))
ClipRect
ClipRect组件使用矩形裁剪子组件,通常情况下,ClipRect作用于CustomPaint
、 CustomSingleChildLayout
、 CustomMultiChildLayout
、 Align
、 Center
、 OverflowBox
、 SizedOverflowBox
组件,例如ClipRect作用于Align,可以仅显示上半部分,代码如下:
高度为正常的情况,没什么变化
ClipRect(child: Align(alignment: Alignment.topLeft,heightFactor: 1,child: Image.asset("images/logo.jpg",)),)
高度为一半的情况,修改参数 heightFactor: 0.5,
ClipPath 按照自定义的路径剪裁
使用CustomClipper 来自定义裁剪内容,比如裁剪成三角形
class __MyPathClipper extends CustomClipper<Path> {@overridePath getClip(Size size) {var path = Path();path.moveTo(size.width / 2, 0);//从图片的中间上面坐标path.lineTo(0, size.height);//图片的左下角坐标path.lineTo(size.width, size.height);//图片的右下角左边path.close();return path;}@overridebool shouldReclip(CustomClipper<Path> oldClipper) {return false;}
}
使用的地方添加
ClipPath(clipper: __MyPathClipper(),child: Image.asset("images/logo.jpg",),)
裁剪后:裁剪前:
系统自带的裁剪也看一个
ClipPath.shape(shape: CircleBorder(),child: Image.asset("images/logo.jpg",),)
shape参数是ShapeBorder类型
RoundedRectangleBorder:圆角矩形
ContinuousRectangleBorder:直线和圆角平滑连续的过渡,和RoundedRectangleBorder相比,圆角效果会小一些
StadiumBorder:类似于足球场的形状,两端半圆
BeveledRectangleBorder:斜角矩形
CircleBorder:圆形
附上官网地址:5.5 剪裁(Clip) | 《Flutter实战·第二版》
flutter-剪裁(Clip)相关推荐
- Flutter 学习
Flutter 学习 参照:https://book.flutterchina.club/ 参照:https://flutter.cn/docs/development/platform-integr ...
- css环形进度条clip,使用CSS clip 属性实现音频播放圆环进度条
这是效果 突然有需求要做一个圆环的音频播放进度条(上图效果),自己琢磨尝试了半天,也没有实现.最后度娘一下,才知道css还有一个clip属性,完美实现需求.分享一下,说不定能帮其它小伙伴.至于有没有用 ...
- Flutter 1.22 正式发布
支持iOS 14和Android 11,新的i18n和l10n支持,可用于生产的Google Maps和WebView插件,新的App Size工具等等! 作者:Chris Sells 原文:http ...
- echarts symbol 回调函数_【OpenLayer 实战】实现仿Echarts风格的动态迁徙图/航班图
使用的数据还是来自echarts,模拟了全国各地到湖南重点景区的客流情况. 分析 要实现动态迁徙图的效果,主要需解决两个问题 曲线的绘制.因为给出的数据只有起点和终点两个点位,所以想要绘制曲线 ...
- 高性能Web动画和渲染原理系列(5)合成层的生成条件和陷阱
[摘要] 关于合成层的知识和动画编写的建议 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文目录 一. ...
- control层alert弹出框乱码_【ArcGIS for JS】动态图层的属性查询(11)
在真实需求中,我们不仅仅是将shp在地图中显示那么简单,我们往往要查询该图层的属性信息,我们在前面代码的基础上添加上属性查询. 1.1方法1(通过click直接获取) 1.1.1代码实现 给要素图层添 ...
- 服务器前端机中转机制,『中高级前端面试』之终极知识点
作者:陈大鱼头 Chrome浏览器进程 在资源不足的设备上,将服务合并到浏览器进程中 浏览器主进程 负责浏览器界面显示 各个页面的管理,创建以及销毁 将渲染进程的结果绘制到用户界面上 网络资源管理 G ...
- Tikz作图教程:说说图形颜色填充那些事儿
初学Tikz 作图的朋友也许觉得给图形填充颜色很费事儿,尤其是那些不规则图形的颜色填充. 事实上,只要你掌握一个基本思想和三个填充技巧,图形颜色填充就会变得易如反掌!下面我们详细介绍这些方法,学会本文 ...
- 强化学习待解决问题和主流Trick整理
文章目录 一.四大待解决问题 二.DRL主流Trick 主流Trick应用场景 2.1 序贯决策导致的非独立同分布问题 2.2 Policy随Target震荡而震荡问题 2.3 Target过估计从而 ...
- houdini-houdini记录
title: houdini-houdini记录 categories: Houdini tags: [art, houdini, procedural, 记录] date: 2019-05-15 0 ...
最新文章
- 项目创建venv、_都2020年了,居然还有人没有在数据科学项目中使用Docker?
- MapReduce TopK统计加排序
- Boost:无序的bimap双图的测试程序
- React开发(114):不建议用setstate回调
- Android 频道管理,可拖动item排列,删除,添加
- dataframe 如何选中某列的一行_PySpark和SparkSQL基础:如何利用Python编程执行Spark(附代码)
- 谈谈Objective-C的警告 (转)
- 这份风控最重要的核心报表一定要学会
- 说服力:从场景化出发的用户价值
- mysql xa 异常_面试官问我:MySQL中的XA事务崩溃了如何恢复??
- 《善用佳软:高效能人士的软件应用之道》一2.6 小工具之计算器
- vue 函数(二):callback回调函数
- 平方根python_python如何求平方根
- webrtc中的码率控制
- c语言定义浮点变量i和j,2012年计算机等级考试二级C语言基础教程:数据类型、变量和运算符...
- sql 修改时间正价 2天_“熬夜3天,修改17遍,我终于写出了1篇稿费2万的稿子”...
- 左手读红楼梦,右手写 BUG,闲快活
- JavaScript CSS jQuery 网页音乐播放器
- 短视频矩阵系统源码。抖音矩阵系统源码。抖音SEO源码。
- 微信防红不死码跳转微信防封源码