首页
学习
活动
专区
圈层
工具
发布

【Android Gradle 插件】Gradle 扩展属性 ① ( Gradle 扩展属性简介 | Gradle 自定义 task 任务示例 )

文章目录 一、Gradle 扩展属性简介 二、Gradle 自定义 task 任务示例 ( 扩展属性示例 ) Android Plugin DSL Reference 参考文档 : Android Studio...Project 属性 , 就需要用到 扩展属性 机制 ; 在 build.gradle 中直接使用 Groovy 代码即可实现 对 Project 类的扩展 ; 在 Groovy 中定义普通属性代码如下...在 Groovy 中定义扩展属性代码如下 : 扩展属性是全局变量 , 对所有子项目可见 ; // 定义扩展属性 , 其中的变量对所有子项目可见 ext { hello1 = 'Hello World1...} 二、Gradle 自定义 task 任务示例 ( 扩展属性示例 ) ---- 在 build.gradle 中定义 变量 , 然后自定义 task 任务 , 输出该变量 , 代码如下 : // 定义局部变量...// 定义扩展属性 , 其中的变量对所有子项目可见 ext { hello1 = 'Hello World1!' hello2 = 'Hello World2!'

1.2K20

【Android Gradle 插件】Gradle 自定义 Plugin 插件 ④ ( 为自定义 Gradle 插件的扩展配置扩展 | 在自定义插件中获取扩展属性 )

文章目录 一、Android Gradle 插件扩展的扩展 二、为自定义 Gradle 插件的扩展配置扩展 并 获取扩展属性 Android Plugin DSL Reference 参考文档 : Android...Plugin 插件 的 Extension 扩展 中 , 再 定义一层 Extension 扩展 ; 二、为自定义 Gradle 插件的扩展配置扩展 并 获取扩展属性 ---- 定义扩展类 : class...def name def age } 声明扩展 和 扩展的扩展 : 通过调用 project.扩展名.扩展属性 可获取在构建脚本中配置的 扩展属性 , 通过调用 project.扩展名.扩展的扩展名....扩展属性 可获取在构建脚本中配置的 扩展属性 的 扩展属性 ; import org.gradle.api.Plugin import org.gradle.api.Project class MyPlugin...) // 获取 自定义 Gradle 插件的扩展属性 , 必须在 Gradle 分析完成之后才能进行 , 否则获取不到 project.afterEvaluate {

3.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    FabricJS gotchasFabricJS陷阱

    FabricJS gotchas 其他文章见:Fabric.js中文文档导航 这个页面包含了第一次接触fabricJS的人打开的最常见问题的列表。...它们链接到两个对象属性:oCoords和aCoords。 当用户与对象交互或结束变换(例如拖动)时,fabricJS会自动更新这些坐标。...如果遇到这种情况,请在项目中设置更高的常量:fabric.Object.NUM_FRACTION_DIGITS = 8以使属性具有8位小数。 这也会影响SVG导出。 这也会影响SVG导出。...当将字符串转换为数字时,FabricJS不会检查类型也不进行转换,这是由于某些代码的副作用,而不是要依赖的功能。 在将值分配给需要数字的属性之前,请使用parseInt和parseFloat。...FabricJS确实将对象缓存为图像以加快渲染速度。如果您想让fabricJS知道某些更改并且需要重绘特定对象,请使用set方法。

    1.7K10

    使用ueditor富文本编辑器导出文本内容时,自定义各个标签的属性,以img标签添加最大宽度为例(vue框架)….

    pc端通过富文本编辑的内容要在SDK端显示,测试的时候发现有一些图片超出了手机的最大宽度,会出现一个横向的滚动条,这样很影响体验.做显示这块的是公司做android和ios的同事,他们拿到的值富文本直接导出的...json格式的html代码,因此他们很难再对代码进行二次处理,解决问题的源头又回到了我这里~~ 言归正传,想要解决问题就要从标签的style属性着手;本人在追踪数据流的时候发现了在导出编辑器内容的时候会把编辑器内容全部遍历一次的地方...,遍历的数组大概就长这样(这其实是遍历之后的,理解我的意思就行) 那么重点来了,以img标签为例,进一步处理的数据长这个样 在遍历的时候会将attrs进行遍历,遍历时候大概就给拆成这样 这个时候就需要在...attrs.style+='max-width:100%;':attrs.style='max-width:100%;' } 粘完应该是这样的: 说明:首先判断是否是img标签,然后判断是否有style属性...,最后判断若是有style属性,style是否有max-width:100%;字段,若有,则跳过,避免每次导出的时候重复赋值.

    3.1K30

    socket+fabricjs 实现画板同步

    实施 1.首先把配置弄好,装好socket.io和express,这里的fabricjs由于下载太慢了我用的文件。...; server.listen(3000) console.log('http://127.0.0.1:3000') 复制代码 这里打印一下地址方便访问 3.先用prompt+时间戳来区分user,用fabricjs...canvas注册事件监听到鼠标mousedown、mousemove、mouseup的同时调用画笔对应的方法并发送socket命令,由于同步操作需要一个唯一的值,所以在mousedown的时候要生成一个自定义的...id用来区分画布上的对象(canvas.toJSON()时需要在括号里带上这个自定义属性不然序列化后的数据会没有自定义属性), scoket监听对应的命令时需要做对应的操作(mousedown、mousemove...}, }); canvas.remove(e.target); } } }); 复制代码 8.需要注意的就是需要的属性方法需要去官方文档上查找或者打印

    1.7K20

    小智周末学习发现了 10 个好用JavaScript图像处理库

    nodeca.github.io/pica/demo/ Github: https://github.com/nodeca/pica pica 可在浏览器上实现高质量而且高性能的图片大小调整JS库,目标是在浏览器中以最快的速度进行高品质图像缩放...Fabric.js 事例地址:http://fabricjs.com/ 事例讲解:http://fabricjs.com/articles/ Github: https://github.com/fabricjs...简单来说我们可以通过使用Fabric从而以较为简单的方式实现较为复杂的Canvas功能 还可以使用Fabric.js库更改这些对象的某些属性,例如它们的颜色,透明度,网页上的深度位置,或选择这些对象的组...CamanJS 很容易扩展新的过滤器和插件,并伴随着一系列广泛的图像编辑功能。它是完全独立的库,支持工作在 NodeJS 和浏览器。 9.

    3K10

    2种方式!带你快速实现前端截图

    ,实现dom=>canvas) toSvg(调用cloneNode和makeSvgDataUri,实现dom=>svg) cloneNode(克隆处理dom和css) makeSvgDataUri(实现...function draw(domNode, options) { return toSvg(domNode, options) // 拿到的svg是image data URL, 进一步创建svg...处理节点的样式,通过getComputedStyle方法获取节点元素的所有CSS属性的值,并将这些样式属性插入新建的style标签上面, 同时要处理“:before,:after”这些伪元素的样式, 最后处理输入内容和...,有许多CSS属性无法正确渲染。...插件在请求图片的时候会有图片跨域的情况,这是因为,如果使用跨域的资源画到canvas中,并且资源没有使用CORS去请求,canvas会被认为是被污染了,canvas可以正常展示,但是没办法使用toDataURL()或者toBlob()导出数据

    4.8K21

    dom-to-image库是如何将html转换成图片的

    dom-to-image库可以帮你把dom节点转换为图片,它的核心原理很简单,就是利用svg的foreignObject标签能嵌入html的特性,然后通过img标签加载svg,最后再通过canvas绘制img实现导出...将节点转换成图片 我们用的最多的api应该就是toPng(node),所以以这个方法为入口: function toPng(node, options) { return draw(node,...将节点转换成svg toSvg方法如下: function toSvg(node, options) { const ownerWindow = domtoimage.impl.util.getWindow...,ownerDocument属性会返回当前节点的顶层的 document对象,而在浏览器中,defaultView属性会返回当前 document 对象所关联的 window 对象,如果没有,会返回 null...可以将标记结构、样式和行为隐藏起来,比如我们熟悉的video标签,我们看到的只是一个video标签,但实际上它里面有很多我们看不到的元素,这个特性一般会和Web components结合使用,也就是可以创建自定义元素

    2.6K10

    Compressor Mac(视频转码编辑工具)中文激活版

    Compressor与Final Cut Pro紧密集成,可添加自定义输出设置,分布式编码和广泛的交付功能。...浏览左侧栏中的编码设置,然后打开检查器以快速配置高级音频和视频属性。您的批处理显示在中心,位于大型查看器的正下方,可让您查看和导航文件。...Compressor还利用可用的硬件编码器进行H.264和HEVC导出,跨多个CPU内核进行扩展,并使用显卡上的高速GPU加速苛刻的图像处理任务。...自定义设置时尚的界面与Final Cut Pro相匹配,可以轻松导航压缩项目。浏览左侧栏中的编码设置,然后打开检查器以快速配置高级音频和视频属性。...Compressor支持各种流行的设备输出以及专业的视频和音频格式,扩展了Final Cut Pro内置的编码选项。

    2.7K30

    fabric.js开发图片编辑器的细节实现

    前期基础功能尚能满足,但后期迭代时发现无法复用功能代码,如复制功能原来以按钮的形式存在,代码全部在复制组件中,在后期迭代中要在快捷键和右键菜单中增加复制功能,没办法复用; 所以在原来的基础上,封装出Editor...实现代码:https://github.com/fabricjs/fabric.js/blob/master/lib/aligning_guidelines.js 3、控制条样式 稿定设计和创客贴的元素控制条看起来都很精致...,而fabric.js自带的控制条较为简陋,可以通过自定义样式方法把控制条修饰的稍微美观一些。...使用selectable属性控制元素不可选中,需要注意的点是,当我们遍历所有元素时,要对锁定元素单独处理。...最后的实现思路是,使用矩形元素模拟画布区域,fabric.js的canvas大小根据视口DOM的宽高自适应,通过调整矩形元素属性来设置画布到大小和颜色,其他元素通过属相面板修改属性。

    4.6K40

    Compressor for Mac(视频转码工具)中文版

    浏览左侧栏中的编码设置,然后打开检查器以快速配置高级音频和视频属性。您的批处理显示在中心,位于大型查看器的正下方,可让您查看和导航文件。...Compressor还利用可用的硬件编码器进行H.264和HEVC导出,跨多个CPU内核进行扩展,并使用显卡上的高速GPU加速苛刻的图像处理任务。...自定义设置时尚的界面与Final Cut Pro相匹配,可以轻松导航压缩项目。浏览左侧栏中的编码设置,然后打开检查器以快速配置高级音频和视频属性。...您还可以选择在导出的视频中嵌入字幕元数据或提供单独的sidecar文件。HEVC以高效视频编码(HEVC)格式导出视频,以创建比H.264编码的文件小40%的高质量文件。...动态图像滤镜在编码时自定义和清理内容。添加时间码叠加层或动画水印以识别您的工作。或者应用色彩校正,降噪,亮度或对比度滤镜来解决视频问题。

    3.6K10

    深入浅出 Nodejs( 二 ):Nodejs 文件模块机制

    对应引入的功能,外部模块通过exports对象导出模块内定义的方法和对象,它是唯一导出的出口。在模块中,还存在一个module对象,它代表模块本身,而exports是module的属性。...另外试图加载一个与核心模块同名的自定义模块,那是不会成功的,比如说想通过require(‘http’)引入自己定义的http模块,可以通过更改模块名或者标识符的路径来解决。 以.、.....首先,Node在当前目录下查找package.json,通过JSON.parse()解析出包描述对象,从中取出main属性指定的文件名进行定位。如果文件名缺少扩展名,将会进入扩展名分析的步骤。...其余扩展名文件,它们都被当成.js文件载入。 每一个编译并执行成功的模块都会将其完整文件路径为索引缓存在Module._cache对象上,以提高二次引入的性能。...在头部添加(function (exports, require, module, __filename, __dirname){我们的自定义脚本});,以刚才的add.js为例,一个正常的JavaScript

    2.8K20

    Magicodes.IE 2.7.1发布

    属性(注意不应修改Index属性),值范围为0~10000。...AutoFitMaxRows,超过指定行数则不启用AutoFit 添加全局IsDisableAllFilter属性,以通过特性禁用所有筛选器 #142 【修复】根据模板列表高度的设置,统一设置渲染高度...AutoFitMaxRows,超过指定行数则不启用AutoFit 添加全局IsDisableAllFilter属性,以通过特性禁用所有筛选器 2.4.0-beta1 2020.09.14 支持单元格导出宽度设置...】修复‘IsAllowRepeat=true’ #107 [Pdf导出】增加PDF扩展方法,支持通过以参数形式传递特性参数 #104 - Task ExportListBytesByTemplate...目前导出即为数据表 【导出】添加扩展方法ToExcelExportFileInfo 【导出】IExporter再添加两个动态DataTable导出方法,无需定义Dto即可动态导出数据,并且支持表头筛选器

    2.5K10

    Magicodes.IE 2.7.4.2发布

    属性(注意不应修改Index属性),值范围为0~10000。...AutoFitMaxRows,超过指定行数则不启用AutoFit 添加全局IsDisableAllFilter属性,以通过特性禁用所有筛选器 #142 【修复】根据模板列表高度的设置,统一设置渲染高度...AutoFitMaxRows,超过指定行数则不启用AutoFit 添加全局IsDisableAllFilter属性,以通过特性禁用所有筛选器 2.4.0-beta1 2020.09.14 支持单元格导出宽度设置...】修复‘IsAllowRepeat=true’ #107 [Pdf导出】增加PDF扩展方法,支持通过以参数形式传递特性参数 #104 - Task ExportListBytesByTemplate...目前导出即为数据表 【导出】添加扩展方法ToExcelExportFileInfo 【导出】IExporter再添加两个动态DataTable导出方法,无需定义Dto即可动态导出数据,并且支持表头筛选器

    2.6K30

    Magicodes.IE 2.7.2发布

    属性(注意不应修改Index属性),值范围为0~10000。...AutoFitMaxRows,超过指定行数则不启用AutoFit 添加全局IsDisableAllFilter属性,以通过特性禁用所有筛选器 #142 【修复】根据模板列表高度的设置,统一设置渲染高度...AutoFitMaxRows,超过指定行数则不启用AutoFit 添加全局IsDisableAllFilter属性,以通过特性禁用所有筛选器 2.4.0-beta1 2020.09.14 支持单元格导出宽度设置...】修复‘IsAllowRepeat=true’ #107 [Pdf导出】增加PDF扩展方法,支持通过以参数形式传递特性参数 #104 - Task ExportListBytesByTemplate...目前导出即为数据表 【导出】添加扩展方法ToExcelExportFileInfo 【导出】IExporter再添加两个动态DataTable导出方法,无需定义Dto即可动态导出数据,并且支持表头筛选器

    2.6K20

    【Microi 吾码】:低代码驱动,企业级软件开发的得力助手

    用户可以通过扩展组件、自定义 Vue 组件嵌入表单、二次开发调用表单引擎以及使用 V8 引擎事件等方式,灵活实现复杂业务逻辑。...流程引擎的流程属性、节点属性也由表单引擎驱动。这使得开发者可自由新增流程、节点的可配置项。比如,可以给节点属性新增一个自定义配置,快速满足特定的业务需求。...它支持扩展组件、支持自定义 Vue 组件嵌入表单、支持二次开发调用表单引擎,支持 V8 引擎事件,灵活实现复杂业务逻辑。...(二)自定义导出 Excel 在企业级应用中,数据的导出与分析是日常业务操作中的重要环节。 吾码充分考虑到这一需求,提供了两种强大的自定义导出 Excel 功能。...这种自定义导出 Excel 的功能极大地提高了企业数据处理与分析的效率,满足了企业在不同业务场景下对数据导出的多样化需求,无论是日常的业务数据备份、数据分析报告生成还是与外部合作伙伴的数据共享,吾码都能够提供便捷高效的解决方案

    33710

    图形编辑器开发:加新的图形类型,触发丝滑小连招

    另外这样可能还会出现数据不一致问题,如果保存的 centerX 和 centerY 和 x、y、width、height 计算出来的值不一致,那就会让人困惑,到底以谁为准呢。...或者拖拽到画布中,适合有大量图形类型的场景,这些图形通常用户也可以做一些简单的自定义。创建时不能定义属性值问题不大,只要之后能更改属性就行。典型代表有:drawio、Canva。...通过控制点更新属性 图形需要实现一个返回自定义控制点数组的方法。...以及要实现用户拖拽这些自定义控制点的方法。...计算 bbox 包围盒方法 文件格式转换实现,比如 toSVG ... 兼容旧版编辑器 如果是单机软件,会有版本兼容问题。

    35110
    领券