前言

针对 OpenHarmony 4.0 Release 如何适配多屏 驱动模块已适配修改的前提。应用层针对修改后多屏同显和异显写了本测试demo。

 

demo实现

​demo截图

流程图


    多屏 同显/异显 开关

    功能介绍:

      开关值读取 persist.display.expand.enabled 值,1代表开启,0代表关闭。开启时,插入多块屏幕通过 @ohos.display 的getAllDisplays()接口能读取到多块屏幕信息(id, name等),能实现多屏异显功能;关闭时,插入多块屏幕,接口始终返回主屏幕信息,能实现多屏同显功能。

    使用接口:

      @ohos.systemParameterEnhance

        set()/get() 用于读取&设置上述多屏属性值

      @ohos.power

        reboot('xxx') 用于重新设置上述多屏属性值后重启设备生效

     

    同一应用显示到不同屏幕

    功能介绍:

    本应用开启时,会读取当前连接的所有显示屏,应用运行期间,插入/拔出显示屏能实时更新当前所有连接的显示屏信息。

    应用功能区域中,可以选择本应用预定的窗口内容界面以及选定界面显示到哪块屏幕。选定后,点击按钮,对应屏幕能显示/隐藏窗口

     

     

     

     

     

     

    使用接口:

      @ohos.display

        getDefaultDisplaySync() 获取默认显示屏(主屏)信息

        getAllDisplays() 获取所有已连接显示屏信息

        on('add', xxx) 监听显示屏插入

        on('remove', xxx) 监听显示屏拔出

      @ohos.window

        createWindow

        findWindow

        showWithAnimation

        hideWithAnimation

        destroyWindow

        创建/查找/显示/隐藏/销毁窗口

     

    不同应用显示到不同屏幕(注: 当前功能在api9上测试时,主屏启动应用到非主屏屏幕时,非主屏一直显示待启动应用的启动动画界面,无法进入应用。后续版本不确定框架是否已修复。)

    功能介绍:

      可选择需要启动应用的包名/类名和需要改应用在哪块屏幕上启动。选定后,点击按钮可在选定屏幕上启动相关应用。

    使用接口:

      @ohos.app.ability.StartOptions

        指定应用在哪块屏幕启动

      @ohos.app.ability.common

        UIAbilityContext.startAbility

     

    代码

    multiscreendisplaydemo

    Logo

    社区规范:仅讨论OpenHarmony相关问题。

    更多推荐