README_zh.md

卡片编辑开发指导-半模态编辑页

半模态编辑页介绍

ArkTS卡片提供卡片页面编辑能力,支持实现用户自定义卡片内容的功能,例如:编辑联系人卡片、修改卡片中展示的联系人、编辑天气卡片等。

卡片编辑页分为卡片预览区与卡片编辑区。卡片编辑区的布局是由应用继承FormEditExtensionAbility画出来的,卡片预览区布局由系统决定。

效果预览

长按编辑 一级编辑页 修改后 二级编辑页 最终效果
image image image image image

使用说明

  1. 用户在桌面(卡片使用方)上长按卡片,在弹出的菜单栏中点击编辑;

  2. 卡片使用方识别到卡片提供方继承FormEditExtensionAbility后,拉起卡片提供方的一级编辑页;

  3. 在一级编辑页中便可直接自定义编辑卡片内容;

  4. 卡片提供方亦可在FormEditExtensionAbility被拉起后,在回调方法onSessionCreate中直接调用FormEditExtensionContext上下文的startSecondPage方法;

  5. 卡片使用方在接收到卡片提供方二级页面信息后,拉起二级页面,即可进行页面内容编辑。

工程目录

给出项目中关键的目录结构并描述它们的作用,示例如下:

entry/src/main/ets/
|---common
|   |---CommonData.ets                     // FormData类的定义
|   |---PreferencesUtil.ets                // 实现封装preference的工具类
|---entryability
|   |---EntryAbility.ets                   // 主进程UIAbility
|---entryformability
|   |---EntryFormAbility.ets               // 卡片进程Ability
|---entryformeditability
|   |---EntryFormEditAbility.ets           // 卡片一级编辑页Ability
|   |---FormEditSecPageAbility.ets         // 卡片二级编辑页Ability
|---model
|   |---ExtensionEvent.ets                 // 二级编辑页跳转控制类
|---pages
|   |---FormEditExtension.ets              // 卡片一级编辑页页面
|   |---FormEditSecPage.ets                // 卡片二级编辑页页面
|   |---index.ets                          // 卡片提供方主应用首页
|---widget
|   |---pages
|   |   |---WidgetCard.ets                 // 卡片页

具体实现

相关权限

不涉及。

依赖

不涉及。

约束与限制

  1. 本示例是否支持取决于卡片使用方的实现;
  2. 本示例为Stage模型,支持API18版本及以上SDK,SDK版本号(API Version 18 Release),镜像版本号(5.1Release);
  3. 本示例需要使用DevEco Studio 版本号(5.1Release)版本才可编译运行;
  4. 本示例不涉及系统接口。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code\DocsSample\Form\FormEditDemo > .git/info/sparse-checkout
git remote add origin https://gitcode.com/openharmony/applications_app_samples.git
git pull origin master