2016-04-06 70 views
1

我有一個基本視圖,文本,圖像和按鈕的最小應用程序在本機反應。我面臨的問題是管理多個設備的佈局。 關於如何維護多個設備(多屏幕分辨率和屏幕尺寸)的字體大小的相同(相稱)視圖&的任何建議。在多個設備上反應本機不變佈局

查看: 例如,如果我想要的物品,其中每行對左邊的一個圖像的列表視圖,在之間和2個按鈕一些文字上的權利(一個在另一個之下即flex-direction: 'column'),如何能我在5英寸設備和10英寸設備上看起來不錯。

另外,考慮按鈕有一些borderRadius,如果我們縮放按鈕,borderRadius值也將需要增加。我如何實現這一目標?

字體: 我嘗試過使用PixelRatio.getFontScale(),但這只是根據分辨率(根據我的理解)縮放字體。使用此功能,可以使分辨率更高的5英寸設備的尺寸12的字體看起來更大,而分辨率更低的10英寸設備的尺寸更小。那麼如何管理反應原生應用的字體大小呢?

回答

0

除了PixelRatio.getFontScale(),您還可以使用Dimensions API來獲取窗口的高度和寬度,並相對於此來縮放組件。我已經構建了一個在iOS和Android上運行的應用程序,並使用它來縮放寬度的+高度。

結帳鏈接Dimensions @ Facebook - React Native

即。

Dimensions.get('window').width; Dimensions.get('window').height;

將返回窗口

+0

能否請您詳細說明如何使用這兩個大小?我曾嘗試單獨使用它們,但沒有得到預期的結果。 –

+0

[This Medium post](https://medium.com/@elieslama/responsive-design-in-react-native-876ea9cd72a8#.hi8cgrp8d)對使用Dimensions API根據設備寬度修改佈局給出了很好的說明。 –