【发布时间】:2019-03-26 07:25:01
【问题描述】:
我正在开发 Xamarin.Forms 应用程序,我需要确定 android 屏幕/分辨率是小、中还是大,以使用可用空间调整某些内容。例如,一些标签(单行)在较小的设备中被截断。因此,如果分辨率更小,我可以进行一些调整。
在 iOS 中,当 iPhone 屏幕变大时,分辨率也会越来越高,因此在 iOS 中很容易识别分辨率较小的设备。但在 android 中,这似乎很难。
Android 设备分辨率可取自
var resolutionH = Resources.DisplayMetrics.HeightPixels;
var resolutionW = Resources.DisplayMetrics.WidthPixels;
为了测试,我创建了以下模拟器并在其中运行应用程序。无论标签是否被截断,这都是我的结果。
Resolution Density Result
---------------------------
2560x1440 560 OK
1920x1080 400 OK
1280x720 320 Truncated
1280x720 280 OK
1280x720 240 OK
800x480 240 Truncated
800x480 160 OK
这里的问题是分辨率较高且 DPI 较低的设备不会造成任何问题。就像具有 1280x720 分辨率和 240 DPI(或 280 DPI)的设备。由于有大量具有不同分辨率和密度的 Android 设备可用,因此这个问题似乎更难解决。
有没有更好的方法来对 Android 设备(小型、中型和大型)进行分类?
【问题讨论】:
标签: android xamarin.forms xamarin.android