react-native中長(zhǎng)度單位換算

初學(xué)者在一開始接觸到RN的時(shí)候,可能在寫樣式的時(shí)候,會(huì)直接寫成

test: {
   height: 64,
   width: 64,
}

這樣寫有什么不好呢?我們看處理前和處理后的對(duì)比,以及大手機(jī)和小手機(jī)的對(duì)比

處理前大小手機(jī)之間對(duì)比.jpg
處理后帶下手機(jī)之間對(duì)比.jpg

對(duì)于適配來說,在大手機(jī)上顯示的就是相對(duì)大一點(diǎn),在小手機(jī)上就會(huì)相對(duì)小一點(diǎn),而看上面兩幅圖對(duì)比一下,處理前在大手機(jī)上反而高度要小,但是我們做了一番處理之后,在iPhone8 Plus上就能夠做到適應(yīng)了,下面是我封裝的RN里面可以做到自適應(yīng)各種手機(jī)大小的長(zhǎng)度單位

import {
   Dimensions,
   Platform
} from 'react-native';


//獲取屏幕大小
const { width, height } = Dimensions.get("window");
const ScreenWidth = Math.min( width, 540); //判斷是否是 iphone Plus


//db數(shù)值轉(zhuǎn)化
export function getPixel(num, designWidth = 375) {
   return num * ScreenWidth / designWidth ;
}

就這樣,我們?cè)谛枰{(diào)用這個(gè)函數(shù)的文件里面引入該文件,就能使用了

例如我的這個(gè)是存放在common文件夾里的common.js

import { getPixel } from './common/common'
//下面樣式中便可以這樣用:
test: {
    height: getPixel(64),
    width: getPixel(64),
}

其實(shí)寫這個(gè)函數(shù)的原理就類似于我們寫h5頁(yè)面時(shí)使用rem做適配一樣。

今天分享到此哦~~ 有問題可以留言~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容