当我们在这里时,Android 相当于[UIScreen mainScreen].scale
什么?
以下等式是否正确?
[UIScreen mainScreen].bounds.size.width = displayMetrics.widthPixels
[UIScreen mainScreen].scale = displayMetrics.density
你在哪里得到displayMetrics
这样的:
DisplayMetrics displayMetrics = new DisplayMetrics();
Display display = ((WindowManager) someContext.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
display.getMetrics(displayMetrics);
问题是我对 iOS 与 Android 的措辞感到困惑。
这些 UIScreen 值的定义如下:
界限
包含屏幕的边界矩形,以点为单位。(只读)
规模
与屏幕相关的自然比例因子。(只读)
@property(nonatomic, readonly) CGFloat scale
讨论
该值反映了从默认逻辑坐标空间转换到该屏幕的设备坐标空间所需的比例因子。默认逻辑坐标空间使用点进行测量,其中一个点大约等于 1/160 英寸。如果设备的屏幕具有相当相似的像素密度,则比例因子通常设置为 1.0,以便一个点映射到一个像素。但是,具有显着不同像素密度的屏幕可能会将此属性设置为更高的值。
我想知道边界的宽度是否等同于 DisplayMetrics 的 widthPixels 以及比例值是否等同于 Android 上的密度值。