官方文档
实践
- 卡片要求的vp总宽高是 150*150,1dp=1vp。fp px vp有啥区别,什么时候用哪个?
- 主要还是看Image和相对布局DependentLayout的一些属性
背景一般是选择纯色ohos:background_element="#937DFF"
,或者是一个图片背景,一般是图片背景再加上一些局部的图片,因为如果全部是图片,设置为46桌面图标显示时,原本是150150的图会被压缩或拉伸,会比较难看。
背景图
<Image
ohos:height="match_parent"
ohos:width="match_parent"
ohos:image_src="$media:card_bg"
ohos:layout_alignment="center"
ohos:scale_mode="clip_center"/>
match_parent :和安卓一样是撑满整个屏幕
match_content:相对于安卓的wrap_content
scale_mode:
- 背景图设置的是:clip_center(表示将原图按比例缩放到与Image相同或更大的尺寸,并居中显示。)
- 局部的图片使用的是:zoom_start(表示原图按照比例缩放到与Image最窄边一致,并靠起始端显示。)
局部的图
<Image
ohos:height="65vp"
ohos:width="match_parent"
ohos:image_src="$media:card_book_text_icon"
ohos:left_margin="5vp"
ohos:right_margin="4vp"
ohos:scale_mode="zoom_start"
ohos:top_margin="25vp"/>
基本width=“match_parent”,因为如果写死在不是正方形的时候还是会有异常,设置高度就行,然后设置左右边距。如果是文字或其他的布局也是如此,宽度基本是match_parent
。
卡片名称和图标
在config.json
里的label
和icon
。
遇到的问题
- 卡片在服务中心和桌面显示的可能不一致,桌面的UI有时候会有异样,如果感觉有问题,切换 桌面设置-桌面布局 就会更新卡片的UI
附录
登录文档: