管理中心
我的
您当前正在浏览新版开发者文档中心,目录分类和层级有所调整。点击左侧当前文档分类名称前的“☰”图标,可切换文档分类。 了解新版目录
指南应用框架UI Design Kit(UI设计套件)应用内多窗

应用内多窗

场景介绍

从6.0.0(20)版本开始,新增支持应用内多窗。

通过MultiWindowEntryInAPP (应用内多窗)组件提供的单应用多窗口接口,实现一个应用多个窗口并行运行的体验。并且可以设置图标大小颜色、背板大小颜色、文字大小颜色等。

如果开发者未集成HdsNavigation组件,可使用应用内多窗组件实现应用内多窗体验。

约束条件

依赖全景多窗特性,只有当前设备及屏幕状态支持全景多窗,才支持设置此功能。目前支持全景多窗的设备形态有:

  • 双折叠:展开态。

  • 三折叠:双屏态,三屏态的横屏态。

  • 平板:横屏态。

对于不支持的设备形态,该组件不可交互,不响应点击事件。

开发步骤

  1. 导入模块。

    收起
    自动换行
    深色代码主题
    复制
    1. // 从6.0.2(22)版本开始,无需手动导入MultiWindowEntryInAPPAttribute。具体请参考MultiWindowEntryInAPP的导入模块说明。
    2. import { MultiWindowEntryInAPP, MultiWindowEntryInAPPAttribute } from '@kit.UIDesignKit';
    3. import { Want } from '@kit.AbilityKit';
    4. import { TextModifier } from '@kit.ArkUI';
  2. 使用MultiWindowEntryInAPP组件,并且设置组件参数,详细请参考应用内多窗多股比价最佳实践。

    收起
    自动换行
    深色代码主题
    复制
    1. @Entry
    2. @Component
    3. struct Index {
    4. @State textModifier: TextModifier = new TextModifier();
    5. private want: Want = {
    6. // 修改为当前应用的bundleName、moduleName、abilityName,启动应用内的UIAbility
    7. bundleName: 'com.example.myapplication',
    8. moduleName: 'entry',
    9. abilityName: 'FuncAbility'
    10. };
    11. build() {
    12. Row() {
    13. MultiWindowEntryInAPP({
    14. want: this.want, isShowSubtitle: true, multiWindowEntryInAPPStyle: {
    15. iconOptions: {
    16. iconSize: 24,
    17. iconColor: $r('sys.color.font_primary'),
    18. iconWeight: FontWeight.Normal,
    19. backgroundColor: $r('sys.color.comp_background_tertiary')
    20. },
    21. subtitleOptions: {
    22. modifier: this.textModifier.fontColor(Color.Black)
    23. }
    24. }
    25. })
    26. .size({ width: 48, height: 48 })
    27. .position({ x: 400, y: 30 })
    28. }
    29. .width('100%')
    30. .height('100%')
    31. }
    32. }