写点什么

【荣耀开发者服务平台—百亿曝光扶持等你来】智慧服务快应用卡片接入指南(上)

  • 2022 年 9 月 07 日
    北京
  • 本文字数:10943 字

    阅读完需:约 36 分钟

荣耀开发者服务平台(HONOR Developers)是荣耀面向开发者的统一生态入口,通过聚合周边内外部系统,分全球多站点部署,为全球开发者提供业务全生命周期的商业支撑服务。

 

平台可为软硬件合作伙伴带来三大应用场景服务,包括主动服务的场景化体验智慧服务,智能协同的跨设备互联的智慧生态以及应用与游戏出海服务。同时,荣耀帐号服务、推送服务、运动健康等开放能力和业务也提供了多样化的合作选择。

 

当前荣耀智慧服务百亿级曝光扶持计划正火热进行中~

一、 接入流程

荣耀智慧服务为开发者提供一站式接入服务能力,和全场景、多终端、多入口的 AI 分发能力,为开发者提高业务推广效率,同时给用户提供便捷、贴心、智能的服务体验。

 

目前包含四种接入类型:快捷服务、快应用卡片、安卓应用卡片、内容接口卡片,呈现显示包括卡片和图标等,本文将提供快应用卡片(JS 卡片)接入相关指南

二、快应用卡片适配开发指南

1. 卡片 ux 设计规范

1.1 卡片 UI 设计图



1.2 卡片布局相关技术

卡片可分为 title 区(标题区)、content 区(内容区)、footer 区(底部区)。

快应用卡片采用 flex 自适应布局技术,学习参考:

2. 卡片布局开发指导

注意:卡片布局采用 flex 布局(官方 IDE 默认 flex 布局);卡片不支持 position 定位,背景图标可使用 stack 标签,stack 标签支持子组件,子组件排列方式为层叠排列,每个直接子组件按照先后顺序依次堆叠,覆盖前一个子组件,从而达到背景图效果。

2.1 卡片高度调试适配规格

注意:在用调试器调试阶段,各卡片规格要确保适配以下不同状态下相应的尺寸规格(调试完成后要去掉卡片最外层宽高,因为负一屏、桌面会给出宽高)

(1)负一屏卡片尺寸(宽 x 高)

折叠屏折叠状态(相当于直板机):

  • 152 x 152dp(卡片规格 2 x 2)

  • 320 x 152dp(卡片规格 4 x 2)

  • 320 x 336dp(卡片规格 4 x 4)

折叠屏展开状态竖屏:

  • 148 x 148dp(卡片规格 2 x 2)

  • 476 x 148dp(卡片规格 4 x 2)

  • 476 x 311dp(卡片规格 4 x 4)

折叠屏展开状态横屏:

  • 164 x 164dp(卡片规格 2 x 2)

  • 529 x 164dp(卡片规格 4 x 2)

  • 529 x 344dp(卡片规格 4 x 4)

(2) 桌面卡片尺寸(宽 x 高)

折叠屏折叠状态(相当于直板机):

  • 129 x 176dp(卡片规格 2 x 2)

  • 339 x 176dp(卡片规格 4 x 2)

  • 339 x 410dp(卡片规格 4 x 4)

折叠屏展开状态竖屏:

  • 173 x 158dp(卡片规格 2 x 2)

  • 503 x 158dp(卡片规格 4 x 2)

  • 503 x 354dp(卡片规格 4 x 4)

折叠屏展开状态横屏:

  • 187 x 140dp(卡片规格 2 x 2)

  • 565 x 140dp(卡片规格 4 x 2)

  • 565 x 306dp(卡片规格 4 x 4)

2.2 卡片页面布局

注意:

  • 最外层容器,由于 flex 从此容器开始,不要设置宽高,可以实现正确的卡片尺寸变化。

  • Flex 内部所有组件 使用 dp 或者百分比来设置宽高,不要使用 px(px,因为默认机制是跟随屏幕的像素尺寸缩放,会导致卡片会因为旋转屏幕后宽度不同进行缩放)。

  • 文字尺寸(font-size)要使用 dp 单位,可以解决大字体大显示字体出现截断现象。

  • 使用 dp 单位在 IDE 会提示语法错误,实际是支持 dp 单位的。为避免语法错误提示,卡片可以使用 less 语法。

2.2.1 卡片容器的结构布局(代码示例)

(1)  HTML 部分

<template>  <div class="card">    <stack class="stack">      <!-- 背景图图标布局,若无背景图需求则无需stack标签,直接来到<div class="layer"></div>结构布局  -->      <div class="bg-img"></div>      <!-- 卡片所有内容分布区(包含标题区,内容区和底部区) -->      <div class="layer">        <!-- 标题区域 -->        <div class="title"></div>        <!-- 内容区域 -->        <div class="content"></div>        <!-- 底部区域 -->        <div class="footer"></div>      </div>    </stack>  </div></template>
复制代码

(2)  JS 部分

<script>export default {}</script>
复制代码

(3)  CSS 部分

<style>/* 卡片最外层 */.card {  /* 最外层容器无需给宽高 */  padding: 12dp;  border-radius: 16dp;/* 按照最新深色模式规范需要给卡片设置背景色,映衬规范需要#ffffff作为背景色;  若自定义背景色,要满足深色模式则需要通过媒体查询来实现,详见深色模式开发文档 */  background-color: #ffffff;}/* 卡片布局容器 设置百分百宽度,不要设置高度*/.stack {  width: 100%;}
/* 卡片stack标签第二个元素,设置百分百宽高铺满父元素 */.layer { width: 100%; height: 100%; justify-content: space-between; flex-direction: column;}/* 背景图标容器设置100%宽高,使其与父元素等比例覆盖,它是stack标签堆叠的第一个元素,做成背景图效果 */.bg-img { width: 100%; height: 100%; flex-direction: column-reverse; align-items: flex-end;}/* 卡片标题区域 */.title { display: flex; height: 16dp; flex-direction: row;}/*/卡片内容区域 */.content { height: 60dp; flex-direction: column; justify-content: center;}/* 卡片底部区域 */.footer { height: 40dp; flex-direction: row; justify-content: space-between; align-items: flex-end;}</style>
复制代码

2.3 卡片 stack 标签的使用说明

stack 是快应用基本容器,子组件排列方式为层叠排列,每个直接子组件按照先后顺序依次堆叠,覆盖前一个子组件。

2.3.1 stack 标签在卡片容器的布局结构

布局结构解析

<template>  <div class="card">    <stack class="stack">      <!-- 背景图图标布局 -->      <div class="bg-img">        <!-- 此处背景图标要用image标签 -->        <image class="icon" forcedark="false" src="../Common/res/img_pic.png"></image>      </div>      <!-- 卡片所有内容分布区(包含标题区,内容区和底部区) -->      <div class="layer">        <!-- 标题区域 -->        <div class="title"></div>        <!-- 内容区域 -->        <div class="content"></div>        <!-- 底部区域 -->        <div class="footer"></div>      </div>    </stack>  </div></template>
复制代码

(1)卡片最外层容器 card,根据设计图卡片整体内容边距 12dp,最外层结构样式如下:

.card {  padding: 12dp;  border-radius: 16dp;/* 此处给宽高是为了让调试器devtools显示内容方便测试效果,实际开发需要去掉宽高 */  width: 160dp;  height: 160dp;  background-color: #ddd;}
复制代码

代码实现效果(颜色背景为 #ddd 的卡片)如图:

<template>  <div class="card">    <stack class="stack">      <!-- 背景图图标布局 -->      <div class="bg-img">        <!-- 此处背景图标要用image标签 -->        <image class="icon" forcedark="false" src="../Common/res/img_pic.png"></image>      </div>      <!-- 卡片所有内容分布区(包含标题区,内容区和底部区) -->      <div class="layer">        <!-- 标题区域 -->        <div class="title"></div>        <!-- 内容区域 -->        <div class="content"></div>        <!-- 底部区域 -->        <div class="footer"></div>      </div>    </stack>  </div></template>
复制代码

(1)卡片最外层容器 card,根据设计图卡片整体内容边距 12dp,最外层结构样式如下:

.card {  padding: 12dp;  border-radius: 16dp;/* 此处给宽高是为了让调试器devtools显示内容方便测试效果,实际开发需要去掉宽高 */  width: 160dp;  height: 160dp;  background-color: #ddd;}
复制代码

代码实现效果(颜色背景为 #ddd 的卡片)如图:


(2) stack 标签层,使其宽度设为 100%,让它铺满父元素 card,给个背景色值 #00ffff,样式:

.stack {  width: 100%;  background-color: #00ffff;}
复制代码

代码实现效果(由于 card 给了 12dp 边距,所以 stack 又来 12dp 边距)如图:


(3)背景图标布局 bg-img 是 stack 标签的第一个元素,设置 100%宽高,使其与父元素等比例覆盖,给个粉色色值 #ffc0cb 区分效果,样式如下:

.bg-img {  width: 100%;  height: 100%;  background-color: #ffc0cb;}
复制代码

代码实现效果(设置 100%宽高把父元素的色值覆盖了)如图:



按照 flex 布局规范可以在背景图标区域按照设计规范进行排布图标,例如:

(1)将背景图标分布在右上角

样式:

.bg-img {  width: 100%;  height: 100%;  background-color: #ffc0cb;  flex-direction: row-reverse;}.icon {  width: 40dp;  height: 40dp;  object-fit: contain;}
复制代码


效果如图:



(2)将背景图标分布在正中间

样式:

.bg-img {  width: 100%;  height: 100%;  background-color: #ffc0cb;  justify-content: center;  align-items: center;}.icon {  width: 40dp;  height: 40dp;  object-fit: contain;}
复制代码

代码实现效果如图:



(3)将背景图标分布在右下角

样式:

.bg-img {  width: 100%;  height: 100%;  background-color: #ffc0cb;  flex-direction: column-reverse;  align-items: flex-end;}.icon {  width: 40dp;  height: 40dp;  object-fit: contain;}
复制代码

代码实现效果如图:



(4)卡片整体内容布局区域 layer(包含标题区、内容区和底部区),它是 stack 标签第二个子元素,将来布局的内容会堆叠第一个子元素,从而使的第一个子元素变成背景的效果,宽高要设置 100%,使得铺满父元素达到适配。

示例代码:

(1)  HTML 部分

<template>  <div class="card">    <stack class="stack">      <!-- 背景图图标布局 -->      <div class="bg-img">        <!-- 此处背景图标要用image标签 -->        <image          class="icon"          forcedark="false"          src="../Common/res/img_pic.png"        ></image>      </div>      <!-- 卡片所有内容分布区(包含标题区,内容区和底部区) -->      <div class="layer">        <!-- 标题区域 -->        <div class="title">          <text class="title-text">{{ title }}</text>        </div>        <!-- 内容区域 -->        <div class="content">          <text class="content-text">{{ content }}</text>        </div>        <!-- 底部区域 -->        <div class="footer">          <text class="footer-text">{{ fooderName }}</text>        </div>      </div>    </stack>  </div></template>
复制代码

(2)  CSS 部分

<style lang="less">.card {  border-radius: 16dp;  width: 152dp;  height: 152dp;  background-color: #ddd;}/* 基本容器,子组件排列方式为层叠排列,每个直接子组件按照先后顺序依次堆叠,覆盖前一个子组件 */.stack {  width: 100%;  background-color: #00ffff;}/* 背景图标容器设置100%宽高,使其与父元素等比例覆盖,它是stack标签堆叠的第一个元素,做成背景图效果 */.bg-img {  width: 100%;  height: 100%;  background-color: #ffc0cb;  flex-direction: column-reverse;  align-items: flex-end;}.icon {  width: 40dp;  height: 40dp;  object-fit: contain;}/* 卡片stack标签第二个元素,设置百分百宽高铺满父元素 */.layer {  width: 100%;  height: 100%;  justify-content: space-between;  flex-direction: column;}
/* 卡片标题区域 */.title { display: flex; height: 16dp; flex-direction: row; background-color: #9acd32;}.title-text { font-size: 12dp; color: rgba(0, 0, 0, 0.9);}
/*/卡片内容区域 */.content { height: 60dp; flex-direction: column; justify-content: center; background-color: #87ceeb;}.content-text { font-size: 14dp; color: rgba(0, 0, 0, 0.9); font-weight: 400; lines: 2; text-overflow: ellipsis;}
/* 卡片底部区域 */.footer { height: 40dp; flex-direction: row; justify-content: space-between; align-items: flex-end; border: 1dp solid #000000;}.footer-text { font-size: 10dp; color: rgba(0,0,0,0.6);}</style>
复制代码

(3)  JS 部分

<script>export default {  private: {    title: '标题区',    content: '内容区',    fooderName: '底部区',  },}</script>
复制代码

代码实现效果如图:



2.4 卡片 UI 设计完整代码示例

卡片常见问题:

  • 卡片最外层圆角出现白边。解决方案是:去掉 manifest 文件里的 display 配置项。

  • 卡片出现内容滑动现象。解决方案是:stack 不能设置高度 100%;只能设置宽度 100%。

  • 深色模式下,图片出现暗色蒙层。解决方案是:在 image 标签里设置 forcedark="false"。

  • 长按卡片字体变大。解决方案是:样式不能用 opacity 属性,用 rgba 设置字体透明度。

(1)  HTML 部分

<template>  <!-- 卡片最外层容器 -->  <div class="card">    <!-- stack标签用于有需要插入背景图的卡片需求,若无背景图需求无需用stack标签 -->    <stack class="stack">      <!-- 卡片stack标签第一个元素,设置百分百宽高,做成背景图效果  -->      <div class="bg-img">        <!-- 此处背景图标要用image标签 -->        <image          forcedark="false"          class="icon"          src="../Common/res/img_pic.png"        ></image>      </div>      <!-- 卡片stack标签第二个元素,卡片布局容器,设置百分百宽高铺满父元素,若无背景图需求,直接来到此处布局容器  -->      <div class="layer">        <!-- 标题区域 -->        <div class="title-wrap">          <div class="title-logo">            <image class="logo" forcedark="false" src="../Common/res/icon_icon.png"></image>          </div>          <text class="title-text">{{ title }}</text>        </div>        <!-- 内容区域 -->        <div class="content">          <text class="content-title">内容区</text>          <text class="content-text">{{ content }}</text>        </div>        <!-- 底部区域 -->        <div class="footer">          <div class="footer-box">            <text class="footer-text">{{ fooderName }}</text>          </div>        </div>      </div>    </stack>  </div></template>
复制代码

(2)  CSS 部分

<style lang="less">/* 卡片最外层 最外层容器无需给宽高,由负一屏或桌面设定宽高 */.card {  padding: 12dp;  border-radius: 16dp;  /* 此处给宽高是为了让调试器devtools显示内容方便测试效果,实际开发需要去掉宽高 */  height: 152dp;  width: 152dp;  /* 按照最新深色模式规范需要给卡片设置背景色,映衬规范需要#ffffff作为背景色;  若自定义背景色,要满足深色模式则需要通过媒体查询来实现,详见深色模式开发文档 */  background-color: #ffffff;}/* stack标签用于有需要插入背景图的卡片需求,若无背景图需求无需用stack标签*/.stack {  width: 100%;}
/*卡片布局容器,设置百分百宽高铺满父元素,若无背景图需求,不需要stack标签结构直接来到此处布局容器*/.layer { width: 100%; height: 100%; justify-content: space-between; flex-direction: column;}
/* 卡片标题区域 */.title-wrap { flex-direction: row;}.title-logo { width: 16dp; height: 16dp; justify-content: center; align-items: center; flex-shrink: 0;}.logo { width: 100%; height: 100%; object-fit: contain; border-radius: 50%;}.title-text { font-size: 12dp; color: rgba(0,0,0,0.9); margin-left: 8dp;}
/*/卡片内容区域 */.content { flex: 1; flex-direction: column; justify-content: center;}.content-title { font-size: 16dp; color: rgba(0,0,0,0.9); font-weight: 500;}.content-text { font-size: 14dp; color: rgba(0,0,0,0.6); font-weight: 400; /* 注意:卡片内容区域给定高度,内容展示要注意字数限制内容过长采用省略方式,避免导致内容缺失问题 */ lines: 2; text-overflow: ellipsis;}/* 卡片底部区域 */.footer { height: 40dp; flex-direction: row; justify-content: space-between; align-items: flex-end;}.footer-box { height: 16dp; flex-direction: row;}.footer-text { font-size: 10dp; color: rgba(0,0,0,0.6);}/* 背景图标 */.bg-img { width: 100%; height: 100%; flex-direction: column-reverse; align-items: flex-end;}.icon { width: 40dp; height: 40dp; object-fit: contain;}</style>
复制代码

(3)  JS 部分

<script>export default {  private: {    title: '标题(dp版本08)',    content: '离开[北京航站],下一站[北京新顺处理中转站]',    fooderName: '来自顺丰速运',  },}</script>
复制代码

2.5 卡片完整代码实现效果

2.5.1  竖屏显示效果



2.5.2、横屏显示效果



3. 深色模式指导适配

深色模式实现有两种方案,一种是随系统变化,引擎对背景色,字体颜色等元素做了映衬关系,只需按照映衬设计规范对 css 进行配置日间的色值,切换夜间就会映衬的夜间的色值从而实现深色模式效果;另一种方案可以通过媒体查询接口进行自定义背景颜色,字体颜色;两种方案可以一起用,媒体查询优先级比映衬方式高。

3.1 深色模式跟随系统变化

3.1.1 深色模式 UX 规范

引擎对卡片背景色,文本颜色,标签以及按钮等元素做了日、夜间颜色映衬关系(日间模式色值对应夜间模式色值,如 #000000 对应 #ffffff,详见下面表格);卡片开发按照此映衬规范给样式进行设置日间模式色值,在切换到夜间模式时就会自动改变成夜间模式色值。




卡片开发要按照日间模式的元素颜色来设计,如下图:



按照日间模式色值设置,切换到夜间模式时,效果转换为夜间模式色值,如图下:



3.1.2 卡片 demo 示例

(1)  Html 部分


    <div>      <div class="color1">        <text>#3F56EA(日间)</text>      </div>       <text style="color:#000000;">=> </text>      <div class="color1-dark">        <text>#3F56EA(夜间)</text>      </div>    </div>    <div>      <div class="color3">        <text>#00BFC9(日间)</text>      </div>       <text style="color:#000000;">=> </text>      <div class="color3-dark">        <text>#00777E(夜间)</text>      </div>    </div>    <div>      <div class="color6">        <text>#8A2BE2(日间)</text>      </div>       <text style="color:#000000;">=> </text>      <div class="color6-dark">        <text>#6044AB(夜间)</text>      </div>    </div>    <div>      <div class="color8">        <text>#FA2A2D(日间)</text>      </div>       <text style="color:#000000;">=> </text>      <div class="color8-dark">        <text>#E64548(夜间)</text>      </div>    </div>    <div>      <div class="color12">        <text>#808080(日间)</text>      </div>      <text style="color:#000000;">=> </text>      <div class="color12-dark">        <text>#4D4D4D(夜间)</text>      </div>    </div>  </div>  <!-- 底部区域 -->  <div class="footer">    <div class="footer-box">      <div class="bg-div">        <text class="footer-btn1">#256FFF</text>        <text class="footer-btn2">#3F97E9</text>      </div>      <div class="bg-div">        <text class="footer-btn3">#41BA41</text>        <text class="footer-btn4">#007900</text>      </div>      <div class="bg-div">        <text class="footer-btn5">#FF7500</text>        <text class="footer-btn6">#BA5500</text>      </div>    </div>  </div></div></div></template>
复制代码

(2)   Css 部分

<style lang="less">/* 卡片最外层 最外层容器无需给宽高,由负一屏或桌面设定宽高 */.card {  padding: 12dp;  border-radius: 16dp;  /* 最外层要给卡片背景色 */  background-color: #ffffff;}
.layer { width: 100%; height: 100%; justify-content: space-between; flex-direction: column;}
/* 卡片标题区域 */.title { display: flex; height: 16dp; flex-direction: row;}.logo { width: 16dp; height: 16dp; border-radius: 50%; margin-right: 8dp;}.title-text { font-size: 12dp; color: rgba(0, 0, 0, 0.9);}
/*/卡片内容区域 */.content { flex-direction: column; justify-content: center;}.content-title { font-size: 16dp; color: rgba(0, 0, 0, 0.9); font-weight: 500;}
/* 按照色值映衬规范给文本颜色设置日间模式色值 */.color-text1 { font-size: 14dp; color: rgba(0, 0, 0, 0.9); font-weight: 400; /* 注意:卡片内容区域给定高度,内容展示要注意字数限制内容过长采用省略方式,避免导致内容缺失问题 */ lines: 2; text-overflow: ellipsis;}.color-text2 { font-size: 14dp; color: rgba(0, 0, 0, 0.6); font-weight: 400;}.color-text3 { font-size: 14dp; color: rgba(0, 0, 0, 0.38); font-weight: 400;}/* 按照色值映衬规范给标签背景色设置日间模式色值 */.color1 { background-color: #3f56ea; text { color: #000000; }}/* dark部分色值是测试日间转换到夜间颜色是否一致的验证,卡片正式开发无需填写夜间模式色值 */.color1-dark { background-color: #3f56ea; text { color: #000000; }}
.color3 { background-color: #00bfc9; text { color: #000000; }}.color3-dark { background-color: #00777e; text{ color: #000000; }}
.color6 { background-color: #8a2be2; text { color: #000000; }}.color6-dark { background-color: #6044ab; text { color: #000000; }}
.color8 { background-color: #fa2a2d; text { color: #000000; }}.color8-dark { background-color: #e64548; text { color: #000000; }}
.color12 { background-color: #808080; text { color: #000000; }}.color12-dark { background-color: #4d4d4d; text { color: #000000; }}/* 卡片底部区域 */.footer { flex-direction: row;}.footer-box { flex-direction: row; justify-content: space-between;}.bg-div { flex-direction: column; width: 100%;}.footer-btn1 { width: 80dp; height: 40dp; border-radius: 5dp; background-color: #256fff; text-align: center; color: rgba(0, 0, 0, 0.9);}.footer-btn2 { width: 80dp; height: 40dp; border-radius: 5dp; background-color: #006cde; text-align: center; color: rgba(0, 0, 0, 0.9);}.footer-btn3 { width: 80dp; height: 40dp; border-radius: 5dp; background-color: #41ba41; text-align: center; color: rgba(0, 0, 0, 0.9);}.footer-btn4 { width: 80dp; height: 40dp; border-radius: 5dp; background-color: #007900; text-align: center; color: rgba(0, 0, 0, 0.9);}.footer-btn5 { width: 80dp; height: 40dp; border-radius: 5dp; background-color: #ff7500; text-align: center; color: rgba(0, 0, 0, 0.9);}.footer-btn6 { width: 80dp; height: 40dp; border-radius: 5dp; background-color: #ba5500; text-align: center; color: rgba(0, 0, 0, 0.9);}</style>3、Js部分<script>export default { private: { title: '标题(色值#000000,90%不透明度)' },}</script>
复制代码

(3)  Js 部分

<script>export default {  private: {    title: '标题(色值#000000,90%不透明度)'  },}</script>
复制代码

3.2 媒体查询功能实现深色模式

荣耀卡片实现了跟随系统切换深色模式的时候媒体查询,只需要如下配置,便可以让卡片 CP 可以自主适配深色模式的显示样式,媒体查询的显示效果优先级高于自动映射。

@media (prefers-color-scheme: dark) { .layer{ background-color: #666666; } }

3.2.1 卡片 demo 示例

(1)  Html 部分

<template>  <div class="card">    <div class="layout">      <div class="title">        <div class="logo">          <!-- 解决logo图标在大字体大显示出现的截断问题即image标签里使用src引入图片 -->          <image            forcedark="false"            src="../Common/logo.png"            class="logo-img"          ></image>        </div>        <text class="title-txt">{{ title }}</text>      </div>      <div class="content">        <div class="content-bg">          <text style="color:#000000;">内容</text>        </div>      </div>      <div class="footer">        <div class="btn">          <text style="color:#000000;">按钮</text>        </div>      </div>    </div>  </div></template>
复制代码


(2)   Css 部分

<style lang="less">/* 例如日间常规卡片背景色为黄色 #ffff00*/.card {  border-radius: 16dp;  padding: 12dp;  background-color: #ffff00;}
/* 使用媒体查询,切换深色模式,卡片背景色变成红色,当切换回日间模式时,卡片背景色又变成常规设置的黄色背景色 */@media (prefers-color-scheme: dark) { .card { background-color: #ff0000; }}
.layout { width: 100%; height: 100%; flex-direction: column;}.title { height: 16dp;}
.logo { height: 16dp; width: 16dp; border-radius: 50%;}
/* 解决logo图标在大字体大显示出现的截断问题 */.logo-img { width: 100%; height: 100%; /* object-fit: contain保持宽高比,缩小或者放大,使得图片完全显示在显示边界内,居中显示 */ object-fit: contain;}
.content { height: 100dp;}/* 标题文本颜色可以按照ux映衬色值规范进行设置 */.title-txt { font-size: 12dp; color: rgba(0, 0, 0, 0.9);}
.footer { height: 40dp;}/* 常规日间给按钮自定义背景色为蓝色#0000ff */.btn { width: 80dp; height: 30dp; background-color: #0000ff;}/* 使用媒体查询,夜间模式下,更换按钮背景色为红色#ff0000 */@media (prefers-color-scheme: dark) { .btn { background-color: #ff0000; }}</style>
复制代码

(3)  Js 部分

<script>export default { private: {   title: '标题' },}</script>
复制代码

 

用户头像

还未添加个人签名 2022.06.28 加入

第一时间发布荣耀开发者服务平台相关资讯,共享行业资源,合作共赢。荣耀开发者服务平台是荣耀面向开发者的统一生态入口,支持一站式接入荣耀软件、硬件生态合作,助力开发者商业成功。

评论

发布
暂无评论
【荣耀开发者服务平台—百亿曝光扶持等你来】智慧服务快应用卡片接入指南(上)_JavaScript_荣耀开发者服务平台_InfoQ写作社区