ArkUI overlay属性详解:从角标到自定义浮层的工程实践
做 HarmonyOS 应用开发这几年来我遇到过不少需要在现有页面上“再加一层”的需求商品卡片右下角加个促销角标消息中心上方浮一个未读气泡新功能上线时给某个按钮加引导蒙层。早期我第一反应就是拆组件、叠 Stack或者直接弹个自定义 dialog结果布局层级越来越深稍微改个位置就要挪好几处代码。直到认真研究 ArkUI 的 overlay 叠加层属性才发现原来有个如此轻量的官方方案能直接把浮层“挂”在任意组件上方不破坏父容器结构也不影响原有布局。这篇文章我就从 overlay 的实际用法出发把它的定位、API 参数、典型场景和我在真实项目里踩过的坑一次讲清楚。无论你刚接触 HarmonyOS 开发还是已经在用 ArkUI 写业务界面这篇指南都能让你在需要“叠加内容”时少走弯路。1. 理解 overlay 属性的定位与设计思路1.1 为什么需要 overlay不破坏布局的叠加方案先说一个很常见的场景。假设你有一个商品展示卡片需要在卡片右上角叠加一个“限时特惠”的红色标签。用传统思路你可能会写成这样Stack({ alignContent: Alignment.TopEnd }) { // 卡片主体内容 Column() { // ... } // 角标 Text(限时特惠) .backgroundColor(#FF3B30) .fontColor(Color.White) .fontSize(12) .padding({ left: 8, right: 8, top: 2, bottom: 2 }) .borderRadius(10) .margin({ top: 8, right: 8 }) }Stack 容器本身确实能解决问题但它带来两个隐患。第一它改变了布局嵌套关系。卡片内部本来是一层 Column现在外面多包了一个 Stack。如果卡片后续要调整圆角、阴影、边距你得在 Stack 和 Column 两层之间来回调试。第二当页面里多处都需要叠加标签时每个地方都要写一层 Stack整体结构的缩进和嵌套会变得很深代码可读性直线下降。overlay 属性正是为解决这类问题设计的。它是挂在组件上的通用属性调用时直接写在目标组件的链式配置里不需要额外包容器Column() { // 卡片内容 } .width(200) .height(260) .backgroundColor(Color.White) .borderRadius(16) .overlay(限时特惠, { align: Alignment.TopEnd, offset: { x: -8, y: 8 } })这样写的好处很明显卡片本身的布局结构保持原样overlay 就像一块磁贴被贴在组件上位置缩放完全由参数控制。1.2 overlay 适合谁、什么时候用从我的项目经验来看overlay 最适合这几类场景状态角标未读数、VIP 标识、促销标签、消息红点。这类内容通常需要跟随组件位置移动overlay 不需要手动监听组件坐标。轻量引导提示比如首次进入页面时给核心操作按钮叠一个“点这里”的浮层或者给某个功能入口加一个“NEW”标识。装饰性浮层自定义边框、底部渐变遮罩、水印文字等视觉增强效果overlay 不会干扰主布局。反过来也要说明overlay 不适合做全屏弹窗、底部抽屉、跨页面浮层这类重交互场景。全屏弹窗建议使用独立路由或 bindSheet 之类的能力因为它们需要独立的生命周期管理和交互响应链。overlay 本质上还是依附在某个宿主组件上的浮层不适合承载完整的业务页。2. overlay 核心 API 与参数拆解2.1 overlay 的语法和两种传参方式在 ArkUI 中overlay 的声明式写法非常直观。它接受两个参数第一个是叠加内容第二个是可选的配置项。overlay(value: string | CustomBuilder, options?: OverlayOptions)当值传字符串时ArkUI 会直接生成一个 Text 组件作为浮层内容适合快速加文本标签。比如给头像加个“主播”标签Image(this.avatarUrl) .width(64) .height(64) .borderRadius(32) .overlay(主播, { align: Alignment.Bottom, offset: { x: 0, y: -2 } })字符串形式虽然省事但如果你想在浮层里放图片、按钮、动画或者需要精细控制浮层内部布局那就必须使用 CustomBuilder 方式。CustomBuilder 本质上是一个被 Builder 修饰的构建函数里面可以写任意 ArkUI 组件树。举个例子Builder function PromoBadge() { Row() { Image(arrow_logo) .width(12) .height(12) Text(特惠) .fontSize(10) .fontColor(Color.White) } .backgroundColor(#FF3B30) .padding({ left: 6, right: 6, top: 2, bottom: 2 }) .borderRadius(10) }使用方式如下Column() { // 商品图、价格等 } .overlay(PromoBadge(), { align: Alignment.TopStart, offset: { x: 6, y: -6 } })这样浮层就是一个完整的自定义组件可以做圆角、阴影、事件绑定甚至播放动画。2.2 OverlayOptions 参数align 与 offset 的工作机制OverlayOptions 里最常用的两个参数是 align 和 offset。align 决定浮层锚点在宿主组件的哪个位置offset 决定在这个锚点基础上再偏移多少距离。align 使用 Alignment 枚举覆盖九宫格枚举值含义Alignment.TopStart左上角Alignment.Top顶部居中Alignment.TopEnd右上角Alignment.Start左侧居中Alignment.Center正中间Alignment.End右侧居中Alignment.BottomStart左下角Alignment.Bottom底部居中Alignment.BottomEnd右下角这里有个容易被忽略的细节offset 的坐标原点是 align 指定锚点位置而不是宿主组件的左上角。比如 align 选 Alignment.TopEndoffset 的 x 轴正方向是向左因为锚点在右上角向右移动反而会超出组件边界。实际开发中我习惯把 offset 理解为“把浮层从锚点位置推向哪个方向”而不是“世界坐标系里的绝对位移”。offset 单位是 vp不是 px。vp 是 ArkUI 里的逻辑像素单位不同设备上会自动适配。老项目里如果还有人写 px 习惯记得换算vp px / (屏幕密度/160)。简单说就是越高的 DPI 设备一个 vp 对应的物理像素越多。2.3 overlay 与其他浮层方案的选型对比很多初学者纠结 overlay、Stack、bindPopup、bindSheet 到底该用哪个。我把它们的核心差异整理成一张表方案实现方式交互能力生命周期适用场景overlay组件属性直接挂载弱默认不拦截事件跟随宿主组件角标、轻量标签、装饰浮层Stack 容器布局容器手动摆放强可自由控制跟随页面整体布局需要叠加时bindPopup组件方法展示浮层中可配置遮罩和关闭独立弹出控制气泡提示、菜单bindSheet组件方法半屏弹窗强独立弹出控制底部抽屉、详细操作面板我的选型经验如果只是“给某个组件贴一个标识或装饰”优先 overlay如果需要浮层内容参与复杂的交互事件拖拽、多手势就用 Stack 或 bindPopup如果想展示抽屉式面板且需要滑动关闭bindSheet 更合适。3. 实操案例从简单到复杂的三个场景3.1 案例一商品卡片促销角标业务需求自研电商应用的商品卡片右上角要显示“48小时闪购”标签标签为白色文字、红色圆角背景超出卡片右上角 8vp 位置视觉上像“别在卡片上”的效果。实现代码Entry Component struct ProductCardExample { State productName: string 智能手环 Pro State price: string ¥399 build() { Column({ space: 8 }) { // 商品图区域 Column() .width(100%) .height(140) .backgroundColor(#F1F3F5) .borderRadius({ topLeft: 12, topRight: 12 }) // 商品信息 Text(this.productName) .fontSize(16) .fontWeight(FontWeight.Medium) .maxLines(1) .textOverflow({ overflow: TextOverflow.Ellipsis }) Text(this.price) .fontSize(18) .fontWeight(FontWeight.Bold) .fontColor(#E84026) } .padding(12) .width(180) .backgroundColor(Color.White) .borderRadius(12) .shadow({ radius: 8, color: #11000000, offsetY: 4 }) .overlay(48h闪购, { align: Alignment.TopEnd, offset: { x: 8, y: -8 } }) } }这段代码里overlay 的位置效果是先定位到卡片右上角然后向右偏移 8vp、向上偏移 8vp。这样标签一半贴在卡片上、一半溢出到卡片外视觉上有“立体别针”的感觉。需要注意overlay 的内容默认不会裁剪。即使父组件设置了 .clip(true)overlay 溢出部分仍然会显示。这个特性在设计角标时很有用但如果你的浮层需要跟随卡片一起裁剪后续要在浮层内部自己控制。3.2 案例二自定义按钮图标浮层业务需求首页底部导航栏的“购物车”图标右上角需要显示当前购物车数量。数量超过 99 时显示“99”数量为 0 时不显示。我推荐用 Builder 封装一个角标然后通过 if 控制是否挂载Builder function CountBadge(count: number) { Text(count 99 ? 99 : count.toString()) .fontSize(10) .fontColor(Color.White) .backgroundColor(this.count 99 ? #FF3B30 : #FF9500) .padding({ left: 6, right: 6, top: 2, bottom: 2 }) .borderRadius(10) .textAlign(TextAlign.Center) .minWidth(18) .height(18) }使用Column() { Image(shopping_cart) .width(28) .height(28) } .width(48) .height(48) .justifyContent(FlexAlign.Center) .overlay(this.cartCount 0 ? CountBadge(this.cartCount) : undefined, { align: Alignment.TopEnd, offset: { x: 4, y: -4 } })这里有个 ArkUI 细节要提overlay 的第一个参数可以自由传条件表达式当值为 undefined 时浮层会被视为空内容不会渲染任何东西。利用这个特性可以非常优雅地实现“有数据才显示角标”的需求不用额外维护一个布尔状态。我在实际项目里还喜欢把角标封装成独立组件配合 Builder 传入不同参数这样一套角标逻辑可以在多个页面复用。3.3 案例三动态引导蒙层与动画业务需求用户第一次进入某个功能页时需要在“扫码”按钮上方展示一段引导浮层提示“点击扫码可快速识别商品条码”浮层带一个淡入动画并且有一个小三角指向按钮。实现思路分三步第一步用 State 记录是否第一次进入默认 trueState showGuide: boolean true第二步定义浮层构建函数Builder function GuideOverlay(onClose: () void) { Column() { Text(点击扫码可快速识别商品条码) .fontSize(12) .fontColor(Color.White) .padding({ left: 10, right: 10, top: 6, bottom: 6 }) .backgroundColor(#CC000000) .borderRadius(8) } .alignItems(HorizontalAlign.Center) .onClick(() { onClose() }) }第三步在宿主组件上挂载 overlay并配合动画Column() { Image(scan_icon) .width(44) .height(44) Text(扫码) .fontSize(12) .fontColor(#666666) } .overlay(this.showGuide ? GuideOverlay(() { this.showGuide false }) : undefined, { align: Alignment.Top, offset: { x: 0, y: -12 } })如果想加淡入动画可以在 Builder 内部用 animateTo 包装一个透明度变量Builder function GuideOverlay(onClose: () void) { Column() { Text(点击扫码可快速识别商品条码) // ... } .opacity(this.guideOpacity) .onAppear(() { animateTo({ duration: 300, curve: Curve.EaseOut }, () { this.guideOpacity 1 }) }) }实际项目中浮层出现动画很简单直接在 overlay 内容的 onAppear 里触发状态变化即可。因为 overlay 内容本身也是把普通组件树ArkUI 的动画系统对它完全生效。4. 常见问题与排查技巧实录4.1 overlay 内容点击不了或事件穿透这是我在社区里被问得最多的问题。默认情况下overlay 的内容不会拦截触摸事件。也就是说即使你给浮层里的按钮绑定了 onClick点击按钮时事件也会穿透到底层宿主组件上按钮的点击回调不会触发。解决办法是给浮层内容设置 hitTestBehavior。ArkUI 里 HitTestMode 控制组件如何响应触摸测试.hitTestBehavior(HitTestMode.Block)Block 表示当前组件会正常响应触摸并且阻断事件继续传递给后面的组件。把浮层根节点的 hitTestBehavior 设为 Block按钮点击就不再有穿透问题。不过这里要提醒一下如果浮层只是一个纯展示角标不要随便加 Block否则角标区域会挡住底下组件的点击反而影响操作。正确做法是无交互浮层用默认行为有交互浮层显式设置 Block。4.2 overlay 位置不对或超出可视区域我踩过的坑给页面右下角悬浮按钮加 overlay 提示时提示内容跑出了屏幕边界。原因出在 align 和 offset 的组合上。假设悬浮按钮放在页面右下角组件自身比较靠近屏幕边缘。此时 overlay 如果选择 Alignment.TopEnd浮层的锚点在按钮右上角再往右偏移就容易超出屏幕。排查思路先确认 align 锚点是否合理尽量往屏幕内侧选择锚点。offset 的偏移量是否过大尤其是正方向。查看宿主组件的父容器是否设置了 overflow 截断。虽然 overlay 默认不受裁剪约束但某些场景下父容器裁剪依然会影响浮层渲染。我建议在调试 overlay 位置时临时给浮层加上明显背景色和边框先确认锚点位置再逐步调整 offset。调完再改回正式样式这样能快速定位问题。4.3 overlay 内容不更新或渲染异常有同学遇到过这种场景用 State 数组渲染列表项每个列表项都有自己的角标。修改角标数据后页面上的 overlay 内容没有同步变化。这个问题的根因往往不在 overlay 本身而在 Builder 的更新机制。如果你把 Builder 定义成全局函数函数内部使用了外部状态变量ArkUI 可能不会追踪该函数对状态变量的依赖。解决办法将 Builder 定义为组件内部的构建函数而不是全局函数。通过参数显式传入需要展示的数据。把浮层内容封装成独立子组件通过 Prop 或 ObjectLink 传递数据。我之前在做一个订单列表时就遇到订单状态从“待付款”变成“已付款”后overlay 角标还停留在旧状态。排查半天发现是因为状态更新没有传递到 Builder 内部。后来改成子组件方式用 Prop 接收状态刷新就正常了。4.4 列表滚动场景下的性能与卡顿优化overlay 在列表项上使用时要特别注意性能。列表滑动时如果每个列表项的 overlay 都包含复杂的自定义内容ArkUI 每次重建都会重新构建浮层容易造成掉帧。我的优化建议尽量使用字符串形式的 overlay让系统内部用轻量 Text 渲染。如果必须使用 CustomBuilder控制浮层内组件数量不要塞大量图片或复杂布局。用条件渲染控制浮层显隐而不是在列表项中无条件创建浮层。对需要频繁刷新的浮层内容优先考虑用 Builder 参数驱动避免触发整棵父组件树的刷新。实际项目中我用一个 50 条数据的商品列表做过对比。简单字符串角标的 overlay 几乎不影响滚动性能而每个列表项都加一个带阴影和图片的自定义浮层在部分低端设备上滚动掉帧明显。所以千万别把重组件直接塞进 overlay。5. 工程化使用习惯与组合技巧5.1 我的 overlay 组件封装思路接手过的几个项目里团队往往会在多个页面重复使用相同样式的角标。为了不写重复代码我会把角标封装成一个通用子组件内部通过参数控制样式Component struct StatusBadge { Prop text: string Prop bgColor: string #FF3B30 Prop fontSize: number 10 build() { Text(this.text) .fontSize(this.fontSize) .fontColor(Color.White) .backgroundColor(this.bgColor) .padding({ left: 6, right: 6, top: 2, bottom: 2 }) .borderRadius(10) } }使用时只要在宿主组件的 overlay 里放这个子组件就行.overlay( this.showBadge ? StatusBadge({ text: NEW, bgColor: #07C160 }) : undefined, { align: Alignment.TopEnd, offset: { x: -4, y: 4 } } )这样业务页面不用关心角标具体长什么样只传参就能复用。后期要统一改角标样式只改一个子组件即可。5.2 overlay 与条件渲染的组合还有一个小技巧是 overlay 和条件渲染配合控制浮层的显示隐藏。很多业务场景是“满足某个条件才显示叠加层”。.overlay( this.isVip ? VipMark() : undefined, { align: Alignment.TopStart, offset: { x: 8, y: 8 } } )上面这个写法浮层在 isVip 为 true 时显示为 false 时整个叠加层不存在。相比用 .visibility 控制显隐这种方式在浮层根本不需要渲染时性能更好也不会在组件树上留下任何空白占位。还有一点经验之谈overlay 虽然名叫“叠加层”但它并不仅仅用于视觉层。你可以在浮层里绑定手势、播放动画、加载本地图片把它当成一个完全独立的小型 UI 区域来使用。只是要注意overlay 不是独立的页面节点不参与路由管理也不能直接承载需要独立返回逻辑的复杂交互。5.3 调试 overlay 的几个方法调试 overlay 定位问题我总结了一套比较高效的做法先给浮层内容加上亮色背景能直观看到它的实际位置和尺寸。调整 align每次只改一个值观察锚点变化。确认 offset 的正方向是否符合预期特别是 align 在右侧或底部时偏移方向容易搞反。用布局边界开关DevEco Studio 里的组件树检查查看 overlay 内容在布局中的位置关系。DevEco Studio 的 UI Inspector 是我最常用的工具之一。它能直接显示页面组件树选中某个组件后可以查看其 overlay 内容。有时候代码里看不到问题在 UI Inspector 里一拖拽、一缩放就能发现原因。写在最后overlay 这个属性说它简单就是一行链式配置说它复杂里面的对齐、偏移、事件穿透、渲染时机都要留意。我在最初使用时也踩过不少坑尤其是事件穿透和 Builder 依赖更新这两个问题当时排查了差不多一下午。现在回头看overlay 更像是一个“小而美”的工具它在不破坏布局的前提下帮你完成视觉和信息的叠加但它的边界也很清晰——不适合承载复杂交互和独立业务流程。对于刚开始接触 ArkUI 的朋友我的建议是先从小角标开始把 align 和 offset 的坐标关系彻底搞明白再尝试用 CustomBuilder 做自定义浮层最后再考虑封装成工程组件。一步步来比一开始就追复杂效果要稳妥得多。希望这篇指南能帮你把 overlay 用得更顺手少走几步弯路。

相关新闻

微信小程序图书借阅系统:云开发实战与高可用设计

微信小程序图书借阅系统:云开发实战与高可用设计

简介:本资源是一套完整的微信小程序-图书借阅系统实战项目,面向前端初学者及小程序开发入门者,解决校园或小型图书馆场景下图书在线浏览、扫码借阅、状态管理等核心需求。压缩包共145个文件,含20余个JS逻辑文件(实现页…

2026/10/18 2:30:01 阅读更多 →
鸢尾花数据集与线性SVM:从决策边界到C值调参的完整实践

鸢尾花数据集与线性SVM:从决策边界到C值调参的完整实践

很多人接触机器学习,敲下的第一段分类代码几乎都是鸢尾花Iris数据集配SVM,我也不例外。这个组合看起来简单到"没什么好讲":一个只有150条样本、4个特征的老数据集,配上一个基础线性核SVM,几行代码就能跑出95…

2026/10/18 2:30:01 阅读更多 →
233B-H是单按键触摸检测芯片, 此触摸检测芯片内建稳压电路, 提供稳定的电压给触摸感应电路使用, 稳定的触摸检测效果可以广泛的满足不同应用的需求, 此触摸检测芯片是专为取代传统按键而设计

233B-H是单按键触摸检测芯片, 此触摸检测芯片内建稳压电路, 提供稳定的电压给触摸感应电路使用, 稳定的触摸检测效果可以广泛的满足不同应用的需求, 此触摸检测芯片是专为取代传统按键而设计

概 述 • 233B-H是单按键触摸检测芯片, 此触摸检测芯片内建稳压电路, 提供稳定的电压给触摸 感应电路使用, 稳定的触摸检测效果可以广泛的满足不同应用的需求, 此触摸检测芯片是专为 取代传统按键而设计, 触摸检测 PAD 的大小可依不同的灵敏度设 计在合理的范围内, 低功耗与 宽…

2026/10/18 2:30:01 阅读更多 →

最新新闻

Java游戏矩形碰撞检测实战:从原理到工业级优化

Java游戏矩形碰撞检测实战:从原理到工业级优化

1. 这不是数学题,是游戏里“撞上就该有反应”的真实逻辑“Java游戏中的矩形碰撞检测”——这八个字背后,藏着无数新手在写第一个贪吃蛇、推箱子或横版跳跃游戏时卡住的三小时。它看起来像小学数学里的“两个长方形有没有重叠”,但实际运行中&…

2026/10/18 3:21:15 阅读更多 →
Ubuntu虚拟机滚轮不流畅?从输入事件链路到imwheel配置的完整调优指南

Ubuntu虚拟机滚轮不流畅?从输入事件链路到imwheel配置的完整调优指南

装好 Ubuntu 虚拟机后,很多人都会遇到一个不大不小、但天天折磨人的问题:鼠标滚轮在虚拟机里总觉得不对劲。轻滚一下,网页能直接滑过好几个版面;在终端或者代码编辑器里,却又像便秘一样半天挪不动。网上搜一圈&#xf…

2026/10/18 3:21:15 阅读更多 →
Flutter离线优先架构:brick_offline_first与Supabase鸿蒙适配实战

Flutter离线优先架构:brick_offline_first与Supabase鸿蒙适配实战

1. 项目拆解:离线优先,为什么非要“优先”先把这个项目的价值说透。你看到的标题很长,核心就三件事:brick_offline_first、Supabase、鸿蒙适配。这三件事单独拎出来都有的聊,但组合在一起,解决的是移动端数…

2026/10/18 3:21:15 阅读更多 →
dsh-ops 安装与执行的四类失败,以及它们的真实成因

dsh-ops 安装与执行的四类失败,以及它们的真实成因

dsh-ops(仓库名 T-Auto/dsh-ops,详情页叫「Windows 终端工具集」)是给 Windows 上的 DSH 补一组 Rust 高性能工具的原生插件。装上之后你会多出 ops_bash、四个原生文件工具,以及 doc/pdf、网页搜索、html 转 markdown 这类渐进式…

2026/10/18 3:20:15 阅读更多 →
马里奥顶的方块,做出来了!

马里奥顶的方块,做出来了!

用 ESP32、双舵机、SSD1306 OLED 和 MP3 模块,做一只会自己关开关的马里奥问号砖。本文按备料、打印、焊接接线、九步装配、固件烧录和音频导入展开,配合项目原图说明关键操作,再讲清表情素材与音效数量的修改条件。鸿尘客 Honchic 机器人开…

2026/10/18 3:20:15 阅读更多 →
计算机科学速成课10-14集精讲:编程语言、算法与编译原理

计算机科学速成课10-14集精讲:编程语言、算法与编译原理

1. 从零构建编程认知:为什么这五节课值得反复咀嚼很多人学编程的路径是这样的:先装个环境,然后跟着教程敲几行代码,跑通了就觉得自己会了。但一旦遇到稍微复杂的问题,比如“为什么这段循环会死掉”“为什么这个变量在函…

2026/10/18 3:20:15 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →