記HarmonyOS FA 半屏Ability拉起全屏Ability時狀態欄適配的問題

關於Ability的半屏、全屏等模式的配置請參考我另一篇文章:HarmonyOS(鴻蒙)應用/服務開發window_modal配置說明。這裏就不在贅述了。

我在開發鴻蒙FA應用時遇到通過半屏Ability拉起全屏Ability時,如果window_modal爲0,則全屏Ability會沒有狀態欄(狀態欄爲透明,能看到桌面壁紙)的情況。如果window_modal爲2則會出現狀態欄顏色無法自定義的問題(尤其是在dark模式下不能忍受)。

經過排查是由於需要全屏的Ability在config.json中沒有配置metaData導致的:

原來的配置

{
  "visible": true,
  "name": "com.baidu.testApp.ConnectHelperAbility",
  "configChanges": ["orientation"],
  "icon": "$media:icon",
  "description": "$string:empty_description",
  "label": "$string:device_ConnectHelperAbility",
  "type": "page",
  "launchType": "standard"
}

增加

"metaData": {
    "customizeData": [
        {
              "name": "hwc-theme",
              "value": "androidhwext:style/Theme.Emui.Light.NoTitleBar"
        }
     ]
}

最終爲下面這樣則可以解決

{
  "visible": true,
  "name": "com.baidu.testApp.ConnectHelperAbility",
  "configChanges": ["orientation"],
  "icon": "$media:icon",
  "description": "$string:empty_description",
  "label": "$string:device_ConnectHelperAbility",
  "type": "page",
  "launchType": "standard",
  "metaData": {
    "customizeData": [
      {
        "name": "hwc-theme",
        "value": "androidhwext:style/Theme.Emui.Light.NoTitleBar"
      }
    ]
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章