一次开发,多端部署--实例二

一、视觉风格

        1、分层参数

        使用了分层参数后,当系统切换深色模式时,字体和背景也可以自适应。

        

Row() {
    Column() {
        Text('分层参数')
            // 分层参数在sysResource包,属于系统参数,全局可用
            .fontColor($r('sys_color.ohos_id_color_text_primary'))
            .fontSize($r('sys.float.ohos_id_text_size_headline3'))
    }
}
.backgroundColor($r('sys.color.ohos_id_color-background'))

        2、自定义资源

        开发者可以在resources目录中通过限定词目录来定义不同设备状态的资源,资源可以按照“key-value”的形式自定义。应用在运行态选择使用某资源时,系统会根据设备状态优先从相匹配的目录中寻找资源。

        

二、交互归一 

        1、缩放

        

Image()
.scale({ x: this.scaleValue, y: this.scaleValue, z: 1})
.gesture(
    // 双指捏合事件
    PinchGesture({ fingers: 2})
    .onActionStart(( event ?: GestureEvent ) => {})
    .onActionUpdate(( event ?: GestureEvent ) => {
        this.scaleValue = this.pinchValue * event.scale
    })
    .onActionEnd( () => {
        this.pinchValue = this.scaleValue
    })
}

三、功能级一多

        1、SysCap机制

        HarmonyOS使用SysCap机制(即SystemCapability),可以帮助开发者仅关注设备的系统能力,而不用考虑成百上千种具体的设备类型,降低多设备应用开发难度。

        

        (1)能力集

        系统能力集:操作系统中每一个相对独立的特性,如蓝牙、WIFI、NFC等。

        支持能力集:描述当前设备能够支持的哪些功能。

        要求能力集:描述当前应用,具有哪些能力。

        

         

        (2)canIUse接口

        在编码阶段,开发者可以通过canIUse接口,判断目标设备是否支持某系统能力,进而执行不同的业务逻辑。通常当设备不支持某种能力时,运行到这部分代码后,给出友好弹窗,避免crash崩溃。 

aboutToAppear() {
    if ( canIUse('SystemCapability.Communication.NFC.CORE' )) {
        controller.on('nfsCtateChange', (err,nfcState)) => {
            this.message = 'nfcState:' + nfcSatet
        })
    } else {
    
        this.message = 'this device does not support NFC'
    }
}

        

四、工程级一多

        1、三层架构规范

        

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值