mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-23 02:18:06 +00:00
## 动效统一 各组件重复实现按压反馈(@State pressed + scale + animation + onTouch 四件套), 时长各写魔数导致全局手感不一致。 - 新增 components/MotionBase.ets:通用动效的"父组件"。ArkUI V1 的 @Component struct 无法继承他人 build,改用组合表达继承——调用组件把内容经 @BuilderParam 内容插槽传入,MotionBase 在包装节点统一挂动效修饰器。 pressEnabled 默认关(纯展示容器零开销);fillWidth=false 供气泡内卡片按内容 自适应宽度;flexWeight 供等分排列按钮参与剩余空间分配。 onPress 只作按压瞬时轻量钩子,导航/提交语义仍由调用组件 onClick 负责, 避免"按下即触发"的手感偏差。 - Constants.ets 新增动效 token:ANIM_FAST(150) / ANIM_NORMAL(220) / ANIM_ENTER(280) / ANIM_SLOW(400) / PRESS_SCALE(0.97)。 取值依据:状态切换 150-250ms(>300ms 显拖沓),大位移进出场 300-400ms 才不突兀;曲线统一 EaseOut 起步快收尾缓。 - NavRow / StatusSummaryCard / AttachmentCard / 插件卡片等公共组件接入 MotionBase,移除各自的按压四件套。组件专属动效(聊天输入框上弹、加号菜单 浮起、折叠面板展开、toast 进出场)保留在各组件内,不塞进父组件。 ## 图标与启动页随主题切换 原先直接指向位图 app_icon.png,浅色底被烧进图标,深色模式下桌面与启动页跳脱。 - 改用分层图标 layered_image:foreground 为字形,background(沉淀色)在 base/ 与 dark/ 各一份,随系统主题切换。app.json5 与 module.json5 的 icon 均指向 :layered_image。 - startWindowIcon 改用透明底 start_icon.png,配合 start_window_background 的 base(#F1F3F5) / dark(#000000) 两份取值,浅深模式遮罩与图标都能对上。 ## 验证 清空 entry/build 后全量重编:hvigorw assembleHap BUILD SUCCESSFUL(9.8s), 零 ArkTS 错误。提交内容已确认不含 build/ oh_modules/ .hap 与签名材料。
48 lines
1.2 KiB
Plaintext
48 lines
1.2 KiB
Plaintext
{
|
||
"module": {
|
||
"name": "entry",
|
||
"type": "entry",
|
||
"description": "HomeAgent client entry module",
|
||
"mainElement": "EntryAbility",
|
||
"deviceTypes": [
|
||
"phone",
|
||
"tablet"
|
||
],
|
||
"deliveryWithInstall": true,
|
||
"installationFree": false,
|
||
"pages": "$profile:main_pages",
|
||
"requestPermissions": [
|
||
{
|
||
"name": "ohos.permission.INTERNET"
|
||
},
|
||
{
|
||
"name": "ohos.permission.GET_NETWORK_INFO"
|
||
}
|
||
],
|
||
"abilities": [
|
||
{
|
||
"name": "EntryAbility",
|
||
"srcEntry": "./ets/entryability/EntryAbility.ets",
|
||
"description": "HomeAgent main entry",
|
||
"icon": "$media:layered_image",
|
||
"label": "$string:app_name",
|
||
// 启动页图标用透明底字形,配合随主题切换的 start_window_background,
|
||
// 浅色/深色模式下遮罩与图标都能对上,不再恒为深色样式。
|
||
"startWindowIcon": "$media:start_icon",
|
||
"startWindowBackground": "$color:start_window_background",
|
||
"exported": true,
|
||
"skills": [
|
||
{
|
||
"entities": [
|
||
"entity.system.home"
|
||
],
|
||
"actions": [
|
||
"action.system.home"
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
}
|