为什么我不应该在 React Native 中为响应式设计硬编码宽度、高度、字体大小、填充、边距等大小?

Why I should not hard code sizes such as width,height,fontSize,padd,margin for responsive design in react native?

我想如果我给宽度:10,它在所有设备上看起来都一样,因为它占据相同的面积(因为在 160dpi,10dp = 10px,320dpi 10dp = 20px 但在英寸))。我认为我的理解是错误的。分享您对响应式设计的想法以及如何处理响应式字体大小。谢谢。

我经历过这个阶段,也有类似的想法,但我错了。不同手机的尺寸不同,因此最好的方法是实际计算并以百分比表示。

react-native-responsive 这是我用来实际使我的应用响应的库,并且运行良好。你所需要的只是知道你的测试设备的高度和宽度,假设它是 360*640.

现在你想应用 200 的高度,所以基本上你做 200/640 , i.e 31.25 , 所以在您的视图或任何您想要的图像中,您可以通过 height:hp('31.25%') 添加高度,仅此而已,它会根据设备进行相应调整。

如果你不想使用任何库,你可以使用 React Native 的 Dimensions。

import {Dimensions} from 'react-native';
var {deviceheight, devicewidth} = Dimensions.get('window');

现在类似的方法,你现在需要知道你的测试设备的分辨率,如果它是 360 * 640,那么你可以做同样的事情,只是在这里再次假设高度是 200,那么你必须做 height:0.3125*deviceheight

希望对您有所帮助。有疑问请随意

width: 10,中,10等同于10 units。所以在这种情况下,无论您使用哪个 device/screen,它都会始终将 with 设置为 10 像素。

相反,您可以使用百分比或相对测量,以便它可以适应不同的设备,因此,使您的元素 'responsive'