首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 12 构建更现代的应用 Widget

实现圆角 Android 12 许多关键的界面元素都开始采用圆角设计,为了使 AppWidget 与其他系统组件样式之间看起来一致,Android 12 引入了 system_app_widget_background_radius...12 还提供了新的 targetCellWidth 和 targetCellHeight 属性,这些属性指定了 Widget 置于主屏幕默认的较大单元格尺寸。...定义内容,不再使用 XML 语法,而是使用 Compose 语法,要显示的内容将会被转换为远端视图展示 AppWidget 。...正如下图所展示的那样,当 Widget 尺寸发生变更,只有当其尺寸能够匹配到所预先定义好的尺寸范围,其内部输出才会发生变化,更应该注意的是,此时并没有重新创建界面。...△ SizeMode.Responsive 选项示意图 同样,我们还可以 Content() 方法定义更加多元化的样式,让 Widget 不同的尺寸下展示更独特的内容。

1.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

Android Gradle 插件】Gradle 构建机制 ⑤ ( Android Studio 查看 Android Gradle 插件源码 )

文章目录 一、创建工程 二、修改 build.gradle 构建脚本 一、创建工程 ---- 选择 " 菜单栏 / File / New / New Project… " 选项 , 创建默认类型工程即可..., 输入工程名称 ; 二、修改 build.gradle 构建脚本 ---- 将根目录下的 build.gradle 构建脚本的 dependencies 依赖的 classpath "com.android.tools.build...模块下的 build.gradle 构建脚本 , 删掉所有代码 , 进行如下配置 : apply plugin: 'java' sourceCompatibility = 1.8 dependencies...:gradle:4.2.1 依赖 ; 编辑完成后 , 点击右上角的 " Sync Now " 按钮 , 进行 Gradle 配置 ; 配置完成后 , 即可在 Project 面板的 External...AppExtension 源码如下图右侧所示 ; 右键点击该依赖库 , 弹出的菜单中选择 " Library Properties… " 选项 , 可以看到该源码的详细地址 : C:\Users

1.6K40

Inside V8:平平无奇mksnapshot

v8是怎么实现的?...首先, Array.isArray是用一个叫torque的语言来写的,有点类似js的语法,只v8使用,Array.isArray的实现如下: namespace runtime { extern runtime...交叉编译的builtin生成 一般的库,所谓交叉编译就是调用改目标平台指定的工具链直接编译源码生成目标平台的文件。比如一个C文件要给android用,调用ndk包的gcc、clang编译即可。...以linux x64上交叉编译android arm64的builtin为例,步骤如下: 调用本地编译器,编译一个linux版本mksnapshot程序 上述mksnapshot链接的是http://...和v8运行时的其它代码,生成能在arm64上使用的v8库 builtin加载 embedded.S里的builtins是怎么起作用的呢?

42310

Android Gradle 插件】组件化的 Gradle 构建脚本实现 ③ ( Gradle 构建脚本实现 AndroidManifest.xml 清单文件切换设置 )

Gradle 构建脚本实现 AndroidManifest.xml 清单文件切换设置 在上一篇博客 【Android Gradle 插件】组件化的 Gradle 构建脚本实现 ① ( 组件化简介 |...创建组件化应用 | 依赖库模块 / 应用模块 切换设置 ) 最后提到了 Gradle 构建脚本 , 需要实现 依赖库模块 / 应用模块 切换设置 , 主要涉及如下两个方面 : build.gradle...构建脚本 切换设置 , 切换 应用 / 依赖库 ; AndroidManifest.xml 清单文件 切换设置 , 设置 启动 Activity 项 ; Android Gradle 插件】组件化的..., 每个应用 只能有一个 启动 Activity , 如果有多个肯定会报错 ; 组件化 : 模块化模式 : 正常的模式 , 依赖库不可独立运行 , 作为依赖库使用 , 此时 依赖库不能存在启动...构建脚本实现 AndroidManifest.xml 清单文件切换设置 ---- 模块下 的 build.gradle 构建脚本 的 " android#sourceSets#main " 层级下

2K50

NativeScript工作原理

我们再看第一个例子的第一行代码: var time = new android.text.format.Time(); Android平台,上述NativeScript代码由V8及时编译(JIT Compiled...但是在其他编程语言中,尤其是Java,reflection是runtime获取某个class详细信息的唯一途径。...NativeScript通过一个独立的元数据处理过程明确了需要注入的API,并且Android和IOS的编译阶段嵌入了所需的元数据。...这里提到的回调函数并不是JavaScript的回调函数,而是V8引擎内部的C++函数。V8解析执行JavaScript函数首先将JavaScript函数映射为C++函数,然后再执行。...然后执行Time()函数,依次发生了以下行为: V8回调函数执行; NativeScript runtime通过元数据明确Time()的行为是实例化native对象android.text.format.Time

2.6K70

Android开发(53) 摄像头自动对焦。OpenCV图像识别连续拍照自动对焦和拍照。

拍照,一定是需要调焦的。一般会在目标位置最清晰的时候会停止对焦。最近在处理OpenCV进行图像识别,需要连续的调焦(对焦),并在对焦完成后进行拍照,获取图片后进行图像识别。...概念 焦距,也称为焦长,是光学系统衡量光的聚集或发散的度量方式,指从透镜中心到光聚集之焦点的距离。亦是照相机,从镜片光学中心到底片、CCD或CMOS等成像平面的距离。...(当一束与凸透镜的主轴平行的光穿过凸透镜凸透镜的另一侧会被凸透镜汇聚成一点,这一点叫做焦点,焦点到凸透镜光心的距离就叫这个凸透镜的焦距。一个凸透镜的两侧各有一个焦点。)...:name="android.permission.CAMERA" />      < uses-feature...一般情况下,我们会在这里发出一个消息或者声明一个回调来间接执行拍照。

2.4K00

新一代UI框架-Flutter的单元测试方法

1、Flutter是什么 Flutter是谷歌的移动UI框架,运用Dart语言,可以快速iOS和Android构建高质量的原生用户界面。... Android上,v8的 Native Binding可以很好地实现,但是 iOS上的JavaScriptCore不可以,所以如果使用 JavaScript,Flutter 基础框架的代码模式很难统一...Dart可以作为 embedded lib嵌入应用,而不用只能随 着系统升级才能获得更新,这也是优势之一。...通常,集成测试可以真实设备或OS仿真器上运行,例如iOS Simulator或Android Emulator。 被测试的应用程序通常与测试驱动程序代码隔离,以避免结果偏差。...引入Flutter Test Library 接着,需要在配置文件pubspec.yaml文件引入对应的测试library,从而保证测试这个dependency可以被引入 ?

2.3K30

《安富莱嵌入式周报》第279期:强劲的代码片段搜索工具,卡内基梅隆大学安全可靠C编码标准,Nordic发布双频WiFi6 nRF7002芯片

GitHub 存储库搜索代码片段或现有实现以供参考,非常强劲的代码工具。...有时候参考别人设计的工程,想搜索下源码出处,会有惊喜。又或者想搜点代码参考下,也非常方便。...继蓝牙单片机nRF52, nRF53以及蜂窝单片机nRF91后,推出2.4G和5G双频WiFi6芯片nRF7002 详细的规格书还没有公布,粗略的信息如下: 4、ITTIA推出双引擎实时嵌入式物联网数据库V8...RZ/N2L是一款以太网通信微处理器(MPU),使客户能够各种物联网和工业应用(如驱动器、网关、远程IO等)轻松实现工业以太网和TSN。...(1)非法地址读取锁定的错误效果 TOOL测试: TOOL锁定的出错位置: 实际MDK查看出错位置没问题: (2)非对齐访问检测效果 TOOL测试: TOOL锁定的出错位置: 实际MDK查看出错位置没问题

62610

Explosion 开发笔记 (三)

,MR 需要关联对应的 Issues, MR 关闭,Issues 会自动跟随 MR 关闭,并移动到 Project 的 Done 一栏,这样我们就能方便地跟踪需求和进展。...Windows 具体的代码在这:Actions Code,提交 MR 后自动触发,构建结果可以 Actions 查询: Action Result 构建通过是合入的硬性指标。...其实我纠结 MacOS 要不要加,因为实际上从构建来说,MacOS 的编译器和 GCC 还是比较一致的,一般不会出什么大岔子,后面再说吧。...设想反射系统最后是用纯静态反射,ECS 也 C++ 层开始构建,脚本完全 ECS 化,那么我们就避不开一个大问题 —— “用户自定义的 Component 要怎么被下面 C++ 所感知到?”...JavaScript Engine Embedded V8 Sample

50210

Android多模块构建合并aar解决方案

感觉我再不发篇文章,就要被取关了,留下来的都是真爱,感谢你们公众号列表里留下过老妖的痕迹。...前言 前段时间,我实现gradle多模块构建遇到一个问题,以前我们基本上是以jar包形式让开发者集成到工程中使用,但自从Android Studio中有了多module的概念,而我们的SDK也是分了多个模块进行构建的...jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res的文件。 aar:包含所有资源,class以及res资源文件全部包含。...jar文件的使用方式我们应该比较熟悉了,将它复制到工程的libs目录下,然后gradle添加以下脚本: dependencies { compile fileTree(include: ['...project(':librarytwo') embedded project(':libraryone') // We can embed android libraries from

4.3K30

V8、JSCore、Hermes、QuickJS,hybrid开发JS引擎怎么选

不过实际应用,不做重 CPU 的运算只当胶水语言使用,JSC 还是绰绰有余了。 上面的讨论都是针对 iOS 系统的, Android 系统上,JSC 的表现就不尽人意了。...综合来看 V8 的确是 JSVM 的性能王者,Android 端使用时可以完全发挥它的威力,但是 iOS 平台因为主场劣势,并不是很推荐。...从 集成 的角度上看,社区上已经有了 iOS[27] 和 Android[28] 的示例项目,可以拿来用来参考接入到自己的工程。...选型思路 1.单引擎 单引擎的意思就是 iOS 端和 Android 端统一采用一个引擎,这样做的话 JS 层差异可以抹平,不容易出现同一份 JS 代码 iOS 上运行是好的,Android 上就出错的奇异...AndroidV8:Weex,NativeScript 都是这样的,可以包体积和性能上有较好的均衡 iOS 用 JSC,Android 用 Hermes:React Natvie 现如今的方案

15K137

🤔 移动端 JS 引擎哪家强?美国硅谷找......

不过实际应用,不做重 CPU 的运算只当胶水语言使用,JSC 还是绰绰有余了。 上面的讨论都是针对 iOS 系统的, Android 系统上,JSC 的表现就不尽人意了。...综合来看 V8 的确是 JSVM 的性能王者,Android 端使用时可以完全发挥它的威力,但是 iOS 平台因为主场劣势,并不是很推荐。...从 集成 的角度上看,社区上已经有了 iOS[27] 和 Android[28] 的示例项目,可以拿来用来参考接入到自己的工程。...选型思路 1.单引擎 单引擎的意思就是 iOS 端和 Android 端统一采用一个引擎,这样做的话 JS 层差异可以抹平,不容易出现同一份 JS 代码 iOS 上运行是好的,Android 上就出错的奇异...AndroidV8:Weex,NativeScript 都是这样的,可以包体积和性能上有较好的均衡 iOS 用 JSC,Android 用 Hermes:React Natvie 现如今的方案

3.7K30

Cocos Creator 出新版本啦, 2.1.2 圆形Shader终于可以完美解决了!

UV 的问题,详见[Texture:packable] 允许资源编辑器双击打开 json 资源 导入 plist 图集默认将贴图类型设为 RAW 属性检查器增加 Vec4 类型支持 改善部分...Android 上将 V8 升级到了 7.5 VideoPlayer 适配到了微信小游戏 Editor 修复从 v2.0 升级上来后,AnimationClip 的旋转数据会丢失的问题 修复从 v2.0...] 修复原生平台上 Canvas 适配模式为 SHOW_ALL ,EditBox 输入框位置异常的问题 [#162] 修复 Android通知中心显示锁屏,音频不会暂停的问题[#1788] 修复...材质,节点位置出错的问题[#148] 修复原生平台上 Spine/DragonBones 的 opacity 第一帧不正确的问题[#148] 修复 VideoPlayer iOS 上全屏后无法返回的问题...[#1800] 修复 VideoPlayer Android 上播放锁屏再进入会卡死的问题[#1811] 修复 cc.sys.languageCode Android 上无法获取完整语言地区码的问

3K30

Hippy首屏渲染优化小结

android使用 v8 作为 JS 引擎,而 iOS 则为 JSCore,以 v8 为例,其加载js的流程大体上分成: Step1: context 初始化 Step2: 源代码字符串加载 Step3...()->Run(context); 其中 Script 的编译是整个过程中最耗时的,对此 v8 有提供 code cache 的能力,允许通过将编译好的结果实现缓存起来,并在下次加载脚本使用缓存的编译结果来得到序列化好的对象...如果暂时无法引擎初始化前预渲染,那退而求其次,jsbundle加载执行该动作,在下面这个场景也至少可以节省400+ms。...,这里有什么办法可以不挂起程序运行过程输出日志呢,这里Android Studio也有提供相应的能力,只需要把 Suspend 开关关闭,并且 Evaluate and log 输入框补充自己的日志逻辑即可...等下次引擎启动就可以通过该快照生成原场景,提高引擎启动速度。值得好好研究一番。 ? 近期热文 ? 微信支付万亿日志在Hermes的实践 ?

1.7K30

Jenkins前端打包内存溢出问题

1.问题 公司项目vue构建,体积比较庞大,Jenkins上构建,有新的内容提交,第一次npm run build必失败,报内存溢出错误 如下所示: ?...查阅一些资料说是node基于V8引擎,使用内存只能使用部分内存,64位系统约为1.7G,项目太大这种限制会很坑,第一个想法是突破这种内存限制,网上也有很多这种方法: 第一种:设置环境变量: export...NODE_OPTIONS=–max_old_space_size=4096 第二种:在运行命令增加 –max_old_space_size=4096 例如可以修改 package.json 的 scripts...引擎太老,服务器更新node来试试,node13升级了V8,带来性能调整和改进!!...原来jenkins上的系统设置已经设置了环境变量,写死的node环境地址,去掉即可: ?

3.8K10

探索嵌入式应用框架(EAF)

嵌入式系统是一个较大的机械或电气系统具有专用功能的计算机系统, 通常具有实时计算约束。...android.webkit:默认浏览器操作接口。 android.widget:包含各种UI元素(大部分是可见的)应用程序的布局。...一般地,脚本被用来自动构建和运行验证测试。作为全栈必备的Javascript被广泛应用于网页、 web 服务器和移动应用程序嵌入式系统也将占据一席之地。 ?...这些实现通常在 JavaScript 引擎得到了很好的优化。 2.小心编码。由于脚本比本地代码慢, 代码优化性能重要的地方是至关重要的。...嵌入式开发人员可以 asm.js JavaScript 子集中编写性能关键代码, 并将其编译为本地代码, 作为构建过程的一部分, 而不是依赖 JIT。

1.7K41

【Unity 实用工具】✨| Unity 十款 浏览器相关插件 整理(web view browser)

所有 3D WebView 包都可以无缝地协同工作,因此您只需将它们安装到同一个项目中,然后 3D WebView 就会在运行时和构建自动检测并使用正确的插件。...因此,使用 URP ,您必须在 URP 设置禁用 SRP Batcher 或使用 CanvasWebViewPrefab 而不是 WebViewPrefab。...因此,使用 URP ,您必须在 URP 设置禁用 SRP Batcher 或使用 CanvasWebViewPrefab 而不是 WebViewPrefab。...目前,当文本输入集中 Hololens 上,不会出现闪烁的文本插入符号。但是,桌面上运行时会出现文本插入符号。...总结 本文对Unity中一些可以使用的浏览器插件做了一个简单的系统描述 方便大家使用Unity开发过程遇到跟浏览器相关的内容可以参考一下 后面我会针对后面这几种 3D WebView 系列插件进行一个具体的

7.6K40
领券