0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenHarmony像素单位

ArkUI详解 来源:鸿蒙实验室 作者:鸿蒙实验室 2022-08-31 08:23 次阅读

OpenHarmony像素单位

ArkUI开发框架提供了 4 种像素单位供开发者使用,分别是: pxvpfplpx ,框架采用vp为基准数据单位。它们之间的区别如下表所示:

名称 描述
px 屏幕物理像素单位。
vp 屏幕密度相关像素单位,根据屏幕像素密度转换为屏幕物理像素。
fp 字体像素,与vp类似适用于屏幕密度变化,随系统字体大小设置变化。
lpx 视窗逻辑像素单位,lpx单位为实际屏幕宽度与逻辑宽度(在 config.json 中配置的 designWidth )的比值,如配置 designWdith 为 720 时,在实际宽度为 1440 物理像素的屏幕上, 1px 为 2px 。

ArkUI开发框架也提供了全局方法把这些不同的尺寸单位相互转换,全局方法如下所示:

declare

function

vp2px

(

value

:

number

):

number

;

declare

function

px2vp

(

value

:

number

):

number

;

declare

function

fp2px

(

value

:

number

):

number

;

declare

function

px2fp

(

value

:

number

):

number

;

declare

function

lpx2px

(

value

:

number

):

number

;

declare

function

px2lpx

(

value

:

number

):

number

;

像素单位转换

提供其他单位与px单位互相转换的方法。

接口 描述
vp2px(value : number) : number 将vp单位的数值转换为以px为单位的数值。
px2vp(value : number) : number 将px单位的数值转换为以vp为单位的数值。
fp2px(value : number) : number 将fp单位的数值转换为以px为单位的数值。
px2fp(value : number) : number 将px单位的数值转换为以fp为单位的数值。
lpx2px(value : number) : number 将lpx单位的数值转换为以px为单位的数值。
px2lpx(value : number) : number 将px单位的数值转换为以lpx为单位的数值。

最后我们通过代码来体验一下

/*

* Copyright (c) 2021 JianGuo 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.

*/

@

Entry

@

Component

struct

Example

{

build

() {

Column

() {

Column

() {

Text

(

"width(220)"

)

.

width

(

220

).

height

(

40

).

backgroundColor

(

0xF9CF93

)

.

textAlign

(

TextAlign

.

Center

).

fontColor

(

Color

.

White

).

fontSize

(

'12vp'

)

}.

margin

(

5

)

Column

() {

Text

(

"width('220px')"

)

.

width

(

'220px'

).

height

(

40

).

backgroundColor

(

0xF9CF93

)

.

textAlign

(

TextAlign

.

Center

).

fontColor

(

Color

.

White

)

}.

margin

(

5

)

Column

() {

Text

(

"width('220vp')"

)

.

width

(

'220vp'

).

height

(

40

).

backgroundColor

(

0xF9CF93

)

.

textAlign

(

TextAlign

.

Center

).

fontColor

(

Color

.

White

).

fontSize

(

'12vp'

)

}.

margin

(

5

)

Column

() {

Text

(

"width('220lpx') designWidth:720"

)

.

width

(

'220lpx'

).

height

(

40

).

backgroundColor

(

0xF9CF93

)

.

textAlign

(

TextAlign

.

Center

).

fontColor

(

Color

.

White

).

fontSize

(

'12vp'

)

}.

margin

(

5

)

Column

() {

Text

(

"width(vp2px(220) + 'px')"

)

.

width

(

vp2px

(

220

)

+

'px'

).

height

(

40

).

backgroundColor

(

0xF9CF93

)

.

textAlign

(

TextAlign

.

Center

).

fontColor

(

Color

.

White

).

fontSize

(

'12vp'

)

}.

margin

(

5

)

Column

() {

Text

(

"fontSize('12fp')"

)

.

width

(

220

).

height

(

40

).

backgroundColor

(

0xF9CF93

)

.

textAlign

(

TextAlign

.

Center

).

fontColor

(

Color

.

White

).

fontSize

(

'12fp'

)

}.

margin

(

5

)

}.

width

(

'100%'

).

height

(

"100%"

).

justifyContent

(

FlexAlign

.

Center

)

}

}

image-20220805133455311

参考文档

像素单位

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 像素
    +关注

    关注

    1

    文章

    203

    浏览量

    18563
  • OpenHarmony
    +关注

    关注

    25

    文章

    3675

    浏览量

    16164
收藏 人收藏

    评论

    相关推荐

    OpenHarmony标准系统】修改屏幕 DPI(像素密度)

    OpenHarmony标准系统】修改屏幕 DPI(像素密度)
    的头像 发表于 05-16 10:21 2795次阅读
    【<b class='flag-5'>OpenHarmony</b>标准系统】修改屏幕 DPI(<b class='flag-5'>像素</b>密度)

    鸿蒙基础开发实战-(ArkTS)像素转换

    像素单位转换API的使用 主要功能包括: 展示了不同像素单位的使用。 展示了像素单位转换相关AP
    发表于 01-11 16:53

    开源的 OpenHarmony 是每个人的 OpenHarmony

    OpenHarmony”)。2020 年 12 月,博泰、华为、京东、润和、亿咖通、中科院软件所、中软国际等七家单位(按各单位简称首字母排序)在开放原子开源基金会的组织下成立了 OpenHa
    发表于 06-06 19:54

    openharmony开源项目

    、华为、京东、润和、亿咖通、中科院软件所、中软国际等七家单位(按各单位简称首字母排序)在开放原子开源基金会的组织下成立了 OpenHarmony 项目群工
    的头像 发表于 06-21 19:17 1895次阅读

    openharmony发起单位

    openharmony发起单位 openharmony发起单位,6月6日开放原子发布了《开源的 OpenHarmony 是每个人的
    的头像 发表于 06-21 19:41 1398次阅读

    OpenHarmony生态领航贡献单位公布

    2022开放原子全球开源峰会OpenAtom OpenHarmony分论坛在北京成功举办。本次论坛以“万物互联,使能千行百业”为主题,OpenHarmony共建单位、生态伙伴汇聚一堂,共同展现了
    的头像 发表于 07-30 11:08 1626次阅读

    OpenHarmony开发者大会2023生态示范单位OpenHarmony生态委员会成员单位致谢授牌:方案评定办法公示

    ”)开发者大会2023即将举办。会上,OpenHarmony项目群工作委员会将授牌致谢生态示范单位OpenHarmony生态委员会成员单位。 2023年“
    的头像 发表于 04-07 02:35 1710次阅读

    OpenHarmony开发者大会2023杰出贡献单位致谢授牌评选规则

    ”)开发者大会2023即将举办。会上,OpenHarmony 项目群工作委员会将授牌致谢生态开源贡献及卓越贡献单位。2023年“OpenHarmony生态开源贡献单位”、“
    的头像 发表于 04-07 02:35 873次阅读

    OpenHarmony开发者大会举办,OpenHarmony项目群授牌30家捐赠单位及个人

    鸿、鸿湖万联、优博终端、奥思维等单位共同合作支持。 OpenHarmony自开源以来,吸引了130多家伙伴,超过5100名开发者参与共
    的头像 发表于 04-20 05:10 551次阅读
    <b class='flag-5'>OpenHarmony</b>开发者大会举办,<b class='flag-5'>OpenHarmony</b>项目群授牌30家捐赠<b class='flag-5'>单位</b>及个人

    OpenHarmony开发者大会2023召开,致谢六家百人代码贡献单位

    OpenHarmony(简称“OpenHarmony”)项目群工作委员会主办,华为、开鸿智谷、万里红、深开鸿、诚迈科技、九联科技、润开鸿、鸿湖万联、优博终端、奥思维等单位共同合作支持。大会现场,来自开放原子开源基金会和
    的头像 发表于 04-26 14:51 624次阅读

    九联科技获得授牌“OpenHarmony安全委员会委员单位

    ,并向全行业发起开源生态共建的号召,共同推动开源生态繁荣发展。   九联科技作为“OpenHarmony百人代码贡献单位”、“核心共建单位”、“A类捐赠人”、“OpenHarmony
    的头像 发表于 06-14 10:29 793次阅读

    亿晟科技被评为OpenHarmony生态开发板贡献单位

    近日,深圳市亿晟科技有限公司被评为“OpenHarmony生态开发板贡献单位”,并被OpenHarmony项目群工作委员会授予“OpenHarmony生态开发板贡献
    的头像 发表于 05-09 09:53 1005次阅读
    亿晟科技被评为<b class='flag-5'>OpenHarmony</b>生态开发板贡献<b class='flag-5'>单位</b>

    润和软件受聘担任OpenHarmony安全委员会副主席单位

    在近日举行的2023开放原子全球开源峰会上,江苏润和软件股份有限公司(以下简称润和软件)受聘担任OpenHarmony安全委员会副主席单位。 润和软件接受OpenHarmony安全委员会副主席
    的头像 发表于 06-29 16:45 465次阅读
    润和软件受聘担任<b class='flag-5'>OpenHarmony</b>安全委员会副主席<b class='flag-5'>单位</b>

    诚迈科技获评OpenHarmony社区优秀贡献单位

    1月23日,OpenHarmony社区年会在京举行,诚迈科技凭借出色的技术创新能力以及在生态建设方面的突出贡献,获评“OpenHarmony社区优秀贡献单位”。诚迈科技高级副总裁陈璟出席活动并发表演讲。
    的头像 发表于 01-26 10:04 402次阅读

    HarmonyOS开发案例:【卡片像素转换】

    基于像素单位,展示了像素单位的基本知识与像素转换API的使用。
    的头像 发表于 05-07 10:45 257次阅读
    HarmonyOS开发案例:【卡片<b class='flag-5'>像素</b>转换】