以像素密度獲取圖片
PixelRatio類提供了訪問設備的像素密度的方法。
使用PixelRatio有如下幾種常用情形:
根據像素密度獲取指定大小的圖片
如果應用運行在一個高像素密度的設備上,顯示的圖片也應當分辨率更高。一個取得縮略圖的好規則就是將顯示尺寸乘以像素密度比:
var image = getImage({
width: PixelRatio.getPixelSizeForLayoutSize(200),
height: PixelRatio.getPixelSizeForLayoutSize(100),});
<Image source={image} style={{width:200, height:100}} />
譯註: 這段代碼的意思是,如果你要在屏幕上擺放一個寬200高100的圖片,那麼首先要準備多個分辨率尺寸的圖。PixelRatio.getPixelSizeForLayoutSize(200)
方法會根據當前設備的pixelratio返回對應值,比如當前設備的pixelratio為2,則返回 200 * 2 = 400,最後生成的參數為{ width: 400, height: 200 },然後開發者自己實現getImage方法,根據這一參數,返回最符合此尺寸的圖片地址。
PixelRatio.get() === 1
- mdpi Android 設備 (160 dpi)
- PixelRatio.get() === 1.5
- hdpi Android 設備 (240 dpi)
- PixelRatio.get() === 2
- iPhone 4, 4S
- iPhone 5, 5c, 5s
- iPhone 6
- xhdpi Android 設備 (320 dpi)
- PixelRatio.get() === 3
- iPhone 6 plus
- xxhdpi Android 設備 (480 dpi)
- PixelRatio.get() === 3.5
- Nexus 6