/**
* 屏幕工具類
* ui設(shè)計基準(zhǔn),iphone 6
* width:750
* height:1334
*/
/*
設(shè)備的像素密度,例如:
PixelRatio.get() === 1 mdpi Android 設(shè)備 (160 dpi)
PixelRatio.get() === 1.5 hdpi Android 設(shè)備 (240 dpi)
PixelRatio.get() === 2 iPhone 4, 4S,iPhone 5, 5c, 5s,iPhone 6,xhdpi Android 設(shè)備 (320 dpi)
PixelRatio.get() === 3 iPhone 6 plus , xxhdpi Android 設(shè)備 (480 dpi)
PixelRatio.get() === 3.5 Nexus 6 */
import {
Dimensions,
PixelRatio,
} from 'react-native';
export const deviceWidth = Dimensions.get('window').width; //設(shè)備的寬度
export const deviceHeight = Dimensions.get('window').height; //設(shè)備的高度
let fontScale = PixelRatio.getFontScale(); //返回字體大小縮放比例
let pixelRatio = PixelRatio.get(); //當(dāng)前設(shè)備的像素密度
const defaultPixel = 2; //iphone6的像素密度
//px轉(zhuǎn)換成dp
const w2 = 750 / defaultPixel;
const h2 = 1334 / defaultPixel;
const scale = Math.min(deviceHeight / h2, deviceWidth / w2); //獲取縮放比例
/**
* 設(shè)置text為sp
* @param size sp
* return number dp
*/
export function setSpText(size: number) {
size = Math.round((size * scale + 0.5) * pixelRatio / fontScale);
return size / defaultPixel;
}
export function scaleSize(size: number) {
size = Math.round(size * scale + 0.5);
return size / defaultPixel;
}
React-Native屏幕適配工具類
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骇径,“玉大人躯肌,你說我怎么就攤上這事∑葡危” “怎么了清女?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長晰筛。 經(jīng)常有香客問我嫡丙,道長拴袭,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任曙博,我火速辦了婚禮拥刻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘父泳。我一直安慰自己般哼,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布惠窄。 她就那樣靜靜地躺著蒸眠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪睬捶。 梳的紋絲不亂的頭發(fā)上黔宛,一...
- 文/蒼蘭香墨 我猛地睜開眼座韵,長吁一口氣:“原來是場噩夢啊……” “哼险绘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起誉碴,我...
- 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響铡买,放射性物質(zhì)發(fā)生泄漏更鲁。R本人自食惡果不足惜霎箍,卻給世界環(huán)境...
- 文/蒙蒙 一奇钞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧漂坏,春花似錦景埃、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至驯绎,卻和暖如春完慧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背剩失。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- PixelRatio.get() 獲得屏幕的dpi(像素密度),其中: PixelRatio.get() === ...
- 前提:設(shè)計圖為iphone6尺寸(750*1334)芒粹,像素密度默認(rèn)為2 相關(guān)代碼: import { Dime...
- 在React Native開發(fā)中兄纺,因為各種移動設(shè)備尺寸和分辨率的不同,造成尺寸無法統(tǒng)一設(shè)置化漆,這就需要進(jìn)行適配處理估脆,...