0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙OS實(shí)戰(zhàn)開發(fā):【多設(shè)備自適應(yīng)服務(wù)卡片】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-09 09:20 ? 次閱讀

介紹

服務(wù)卡片的布局和使用,其中卡片內(nèi)容顯示使用了一次開發(fā),多端部署的能力實(shí)現(xiàn)多設(shè)備自適應(yīng)。
用到了卡片擴(kuò)展模塊接口,[@ohos.app.form.FormExtensionAbility] 。

卡片信息和狀態(tài)等相關(guān)類型和枚舉接口,[@ohos.app.form.formInfo]。

卡片數(shù)據(jù)綁定的能力接口[@ohos.app.form.formBindingData]。

效果預(yù)覽

image.png

使用說(shuō)明

長(zhǎng)按示例應(yīng)用,等待出現(xiàn)服務(wù)卡片字樣,點(diǎn)擊后可左右滑動(dòng)選擇需要的卡片尺寸,添加到屏幕。

更多鴻蒙開發(fā)應(yīng)用知識(shí)已更新[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]參考前往。

具體實(shí)現(xiàn)

搜狗高速瀏覽器截圖20240326151547.png
1、在module.json5文件添加拓展能力,類型為卡片,并設(shè)置卡片入口srcEntrance和卡片元數(shù)據(jù)metadata。[源碼參考] 如果失效請(qǐng)?zhí)砑觤au123789是v直接拿取。

/*

 * Copyright (c) 2023 Huawei Device Co., Ltd.

 * Licensed under the Apache License, Version 2.0 (the "License");

 * you may not use this file except in compliance with the License.

 * You may obtain a copy of the License at

 *

 *     http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */



{

  "module": {

    "name": "entry",

    "type": "entry",

    "description": "$string:module_desc",

    "mainElement": "EntryAbility",

    "deviceTypes": [

      "default",

      "tablet"

    ],

    "deliveryWithInstall": true,

    "installationFree": false,

    "pages": "$profile:main_pages",

    "abilities": [

      {

        "name": "EntryAbility",

        "srcEntrance": "./ets/entryability/EntryAbility.ets",

        "description": "$string:EntryAbility_desc",

        "icon": "$media:icon",

        "label": "$string:EntryAbility_label",

        "startWindowIcon": "$media:icon",

        "startWindowBackground": "$color:start_window_background",

        "visible": true,

        "skills": [

          {

            "entities": [

              "entity.system.home"

            ],

            "actions": [

              "action.system.home"

            ]

          }

        ]

      }

    ],

    "extensionAbilities": [

      {

        "name": "EntryFormAbility",

        "srcEntrance": "./ets/entryformability/EntryFormAbility.ets",

        "label": "$string:EntryFormAbility_label",

        "description": "$string:EntryFormAbility_desc",

        "type": "form",

        "metadata": [

          {

            "name": "ohos.extension.form",

            "resource": "$profile:form_config"

          }

        ]

      }

    ]

  }

}

例如:"metadata": [ { "name": "ohos.extension.form", "resource": "$profile:form_config" }。
2、初始化卡片:通過(guò)實(shí)現(xiàn)@ohos.app.form.FormExtensionAbility卡片操作類,在卡片對(duì)象首次被創(chuàng)建時(shí),初始化卡片綁定數(shù)據(jù)為空,并將卡片狀態(tài)設(shè)置為就緒狀態(tài)READY。 例如:onCreate(){ formBindingData.createFormBindingData({}) onAcquireFormState(want) { return formInfo.FormState.READY }。
3、配置卡片:用js編寫相應(yīng)的卡片,將卡片配置到resources/base/profile/form_config, [源碼參考]

{

  "forms": [

    {

      "name": "complex",

      "description": "This is a service widget.",

      "src": "./js/complex/pages/index/index",

      "window": {

        "designWidth": 720,

        "autoDesignWidth": true

      },

      "colorMode": "auto",

      "isDefault": true,

      "updateEnabled": true,

      "scheduledUpdateTime": "10:30",

      "updateDuration": 1,

      "defaultDimension": "2*2",

      "supportDimensions": [

        "2*2",

        "4*4"

      ]

    },

    {

      "name": "test",

      "description": "This is a service widget.",

      "src": "./js/test/pages/index/index",

      "window": {

        "designWidth": 720,

        "autoDesignWidth": true

      },

      "colorMode": "auto",

      "isDefault": false,

      "updateEnabled": true,

      "scheduledUpdateTime": "10:30",

      "updateDuration": 1,

      "defaultDimension": "2*2",

      "supportDimensions": [

        "2*2"

      ]

    },

    {

      "name": "immersive",

      "description": "This is a service widget.",

      "src": "./js/immersive/pages/index/index",

      "window": {

        "designWidth": 720,

        "autoDesignWidth": true

      },

      "colorMode": "auto",

      "isDefault": false,

      "updateEnabled": true,

      "scheduledUpdateTime": "10:30",

      "updateDuration": 1,

      "defaultDimension": "2*2",

      "supportDimensions": [

        "2*2"

      ]

    },

    {

      "name": "grid",

      "description": "This is a service widget.",

      "src": "./js/grid/pages/index/index",

      "window": {

        "designWidth": 720,

        "autoDesignWidth": true

      },

      "colorMode": "auto",

      "isDefault": false,

      "updateEnabled": true,

      "scheduledUpdateTime": "10:30",

      "updateDuration": 1,

      "defaultDimension": "2*2",

      "supportDimensions": [

        "2*2"

      ]

    },

    {

      "name": "imgText",

      "description": "This is a service widget.",

      "src": "./js/imgText/pages/index/index",

      "window": {

        "designWidth": 720,

        "autoDesignWidth": true

      },

      "colorMode": "auto",

      "isDefault": false,

      "updateEnabled": true,

      "scheduledUpdateTime": "10:30",

      "updateDuration": 1,

      "defaultDimension": "2*2",

      "supportDimensions": [

        "2*2",

        "2*4"

      ]

    }

  ]

}

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1966

    瀏覽量

    29962
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3635

    瀏覽量

    16061
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    188

    瀏覽量

    4359
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙OS開發(fā)實(shí)例:【手?jǐn)]服務(wù)卡片

    服務(wù)卡片指導(dǎo)文檔位于“**開發(fā)/應(yīng)用模型/Stage模型開發(fā)指導(dǎo)/Stage模型應(yīng)用組件**”路徑下,說(shuō)明其極其重要。本篇文章將分享實(shí)現(xiàn)服務(wù)
    的頭像 發(fā)表于 03-28 22:11 ?1113次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>實(shí)例:【手?jǐn)]<b class='flag-5'>服務(wù)</b><b class='flag-5'>卡片</b>】

    鴻蒙OS開發(fā):【一次開發(fā),多端部署】應(yīng)用(自適應(yīng)布局)

    針對(duì)常見的開發(fā)場(chǎng)景,方舟開發(fā)框架提煉了七種自適應(yīng)布局能力,這些布局可以獨(dú)立使用,也可多種布局疊加使用。
    的頭像 發(fā)表于 05-24 10:34 ?910次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:【一次<b class='flag-5'>開發(fā)</b>,多端部署】應(yīng)用(<b class='flag-5'>自適應(yīng)</b>布局)

    鴻蒙OS開發(fā):【一次開發(fā),多端部署】(設(shè)備自適應(yīng)能力)實(shí)例

    此Demo展示在JS中的設(shè)備自適應(yīng)能力,包括資源限定詞、原子布局和響應(yīng)式布局。
    的頭像 發(fā)表于 05-20 18:27 ?1255次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:【一次<b class='flag-5'>開發(fā)</b>,多端部署】(<b class='flag-5'>多</b><b class='flag-5'>設(shè)備</b><b class='flag-5'>自適應(yīng)</b>能力)實(shí)例

    鴻蒙OS開發(fā):【一次開發(fā),多端部署】(自適應(yīng)布局)

    針對(duì)常見的開發(fā)場(chǎng)景,方舟開發(fā)框架提煉了七種自適應(yīng)布局能力,這些布局可以獨(dú)立使用,也可多種布局疊加使用。
    的頭像 發(fā)表于 05-25 16:36 ?1615次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:【一次<b class='flag-5'>開發(fā)</b>,多端部署】(<b class='flag-5'>自適應(yīng)</b>布局)

    鴻蒙實(shí)戰(zhàn)項(xiàng)目開發(fā):【短信服務(wù)

    數(shù)據(jù)管理 電話服務(wù) 分布式應(yīng)用開發(fā) 通知與窗口管理 多媒體技術(shù) 安全技能 任務(wù)管理 WebGL 國(guó)際化開發(fā) 應(yīng)用測(cè)試 DFX面向未來(lái)設(shè)計(jì) 鴻蒙系統(tǒng)移植和裁剪定制 …… ? 《
    發(fā)表于 03-03 21:29

    鴻蒙os系統(tǒng)是什么意思 鴻蒙os系統(tǒng)有什么作用

    適配智慧屏,未來(lái)它將適配手機(jī),平板,電腦,智能汽車,可穿戴設(shè)備終端設(shè)備。鴻蒙微內(nèi)核是基于微內(nèi)核的全場(chǎng)景分布式OS,可按需擴(kuò)展,實(shí)現(xiàn)更廣泛
    發(fā)表于 12-17 11:34

    木棉花:【資料匯集】服務(wù)卡片相關(guān)學(xué)習(xí)資料的匯總

    前言木棉花組織是對(duì)鴻蒙學(xué)習(xí)的相關(guān)資源進(jìn)行整合,由深圳大學(xué)學(xué)生團(tuán)隊(duì)負(fù)責(zé),長(zhǎng)期更新。此次是將電子發(fā)燒友上的有關(guān)鴻蒙服務(wù)卡片學(xué)習(xí)相關(guān)資料進(jìn)行匯總,以下是部分資料的展示,更多資料收納在我們組織
    發(fā)表于 08-12 23:48

    《HarmonyOS原子化服務(wù)卡片原理與實(shí)戰(zhàn)》清華大學(xué)出版社李洋著

    對(duì)原子化服務(wù)未來(lái)發(fā)展的展望;繼續(xù)努力體驗(yàn)與成長(zhǎng),持續(xù)奮斗。本書主要闡述鴻蒙操作系統(tǒng)( HarmonyOS )應(yīng)用開發(fā)中全新的服務(wù)形式,原子化服務(wù)
    發(fā)表于 12-29 12:14

    鴻蒙原生應(yīng)用開發(fā)-折疊屏、平板設(shè)備服務(wù)卡片適配

    一、設(shè)備卡片適配原則 為不同尺寸的卡片提供不同的功能 在卡片開發(fā)過(guò)程中請(qǐng)考慮適配不同尺寸的設(shè)備
    發(fā)表于 11-16 10:10

    鴻蒙值得期待 鴻蒙OS系統(tǒng)適應(yīng)計(jì)劃曝光

    幾天前,有人在微博上透露了鴻蒙OS在智能手機(jī)上的適應(yīng)過(guò)程,主要是從手機(jī)上的芯片開始,涵蓋麒麟9000到麒麟710,引起了廣泛關(guān)注。 當(dāng)然,除了華為的鴻蒙
    的頭像 發(fā)表于 10-11 10:51 ?1833次閱讀

    AD9557:雙路輸入服務(wù)線路卡自適應(yīng)時(shí)鐘轉(zhuǎn)換器

    AD9557:雙路輸入服務(wù)線路卡自適應(yīng)時(shí)鐘轉(zhuǎn)換器
    發(fā)表于 03-21 14:48 ?6次下載
    AD9557:雙路輸入<b class='flag-5'>多</b><b class='flag-5'>服務(wù)</b>線路卡<b class='flag-5'>自適應(yīng)</b>時(shí)鐘轉(zhuǎn)換器

    B站添加鴻蒙服務(wù)卡片教程

    ???????? 6 月 2 日鴻蒙發(fā)布,今年的六月已經(jīng)被鴻蒙刷屏了。從安卓到鴻蒙,最直觀的變化應(yīng)該就是服務(wù)卡片了。我也是在學(xué)習(xí)
    的頭像 發(fā)表于 08-12 10:07 ?2670次閱讀
    B站添加<b class='flag-5'>鴻蒙</b><b class='flag-5'>服務(wù)</b><b class='flag-5'>卡片</b>教程

    華為開發(fā)者大會(huì)2021鴻蒙os在哪場(chǎng)

    華為開發(fā)者大會(huì)2021將在10月22日-24日舉辦,地點(diǎn)為東莞松山湖,鴻蒙os 3.0或?qū)⑴c我們見面,那么華為開發(fā)者大會(huì)2021鴻蒙
    的頭像 發(fā)表于 10-22 15:24 ?1861次閱讀

    一款鴻蒙版的嗶哩嗶哩服務(wù)卡片應(yīng)用案例

    介紹 這是一款純鴻蒙版的嗶哩嗶哩服務(wù)卡片應(yīng)用。 6月2日鴻蒙發(fā)布,今年的六月已經(jīng)被鴻蒙刷屏了。從安卓到
    發(fā)表于 04-07 09:42 ?0次下載

    鴻蒙OS開發(fā):【一次開發(fā),多端部署】(設(shè)備自適應(yīng)能力)簡(jiǎn)單介紹

    本示例是《一次開發(fā),多端部署》的配套示例代碼,展示了[頁(yè)面開發(fā)的一多能力],包括自適應(yīng)布局、響應(yīng)式布局、典型布局場(chǎng)景以及資源文件使用。
    的頭像 發(fā)表于 05-21 14:59 ?2222次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b>:【一次<b class='flag-5'>開發(fā)</b>,多端部署】(<b class='flag-5'>多</b><b class='flag-5'>設(shè)備</b><b class='flag-5'>自適應(yīng)</b>能力)簡(jiǎn)單介紹