Android 如何找到min&;所有可用安卓手机的最大屏幕高宽比?

Android 如何找到min&;所有可用安卓手机的最大屏幕高宽比?,android,android-layout,Android,Android Layout,我希望我的应用程序在任何Android设备上都能正确显示,无论屏幕大小、屏幕密度或屏幕高宽比如何。我想支持像API 8一样古老的Android设备。我可以为纵向、横向和可能的xlarge屏幕创建单独的布局,但除此之外,我不想为不同的密度或屏幕大小创建不同的布局 我已经在上阅读了Android指南。我试着遵循这些准则,例如,对于小部件,我设置它们的高度和宽度来包装内容或填充父对象,并且避免使用特定的像素测量。对于图像,我提供不同密度的可选位图资源,或者有时我使用与密度无关的像素(dip)的特定大小

我希望我的应用程序在任何Android设备上都能正确显示,无论屏幕大小、屏幕密度或屏幕高宽比如何。我想支持像API 8一样古老的Android设备。我可以为纵向、横向和可能的xlarge屏幕创建单独的布局,但除此之外,我不想为不同的密度或屏幕大小创建不同的布局

我已经在上阅读了Android指南。我试着遵循这些准则,例如,对于小部件,我设置它们的高度和宽度来包装内容或填充父对象,并且避免使用特定的像素测量。对于图像,我提供不同密度的可选位图资源,或者有时我使用与密度无关的像素(dip)的特定大小,因此系统将在具有不同密度的屏幕上正确调整其大小

在过去的两年里,我可能已经读过几十遍了

我知道我可以为特定的屏幕大小和密度定义特定的资源(例如布局),但我想支持几十部或数百部手机,所以这似乎是徒劳的。中的表3显示了屏幕的一些常见尺寸,但我想确保我的应用程序在几乎所有手机上都能运行

在我看来,我需要知道的是最窄的屏幕(倾斜)和最短的屏幕。也就是说,我想知道高度与宽度的比率

例如,在纵向中,我可能有一个按钮或其他小部件的列表。我真的很想知道哪部手机最短:宽高比最大,所以我可以看看我的布局是否在底部被切断。也许我还有3个标签:我想知道最窄的屏幕,这样我就可以确保右边的标签没有被切断

如果我知道当前所有安卓手机的最小和最大h/w比,那么对于肖像,我可以在两个安卓虚拟设备上进行测试(甚至在Eclipse中只测试一个自定义屏幕)


我已经开始检查了,但一定有人有更好的方法

不幸的是,我还没有找到。我有这个链接:但不是所有的都是安卓设备。我知道有两种奇怪的设备具有方形屏幕比例(motorolas)。但我会坚持,你应该对99.9%的用户是安全的

编辑1:

编辑2:根据我的经验,我通常会做5次快速检查:

  • HDPI手机上的应用程序,比例为16:9
  • MDPI手机上的应用程序,比例为4:3
  • XHDPI手机上的应用程序
  • LDPI手机上的应用程序
  • 大屏幕平板电脑上的应用程序(通常为MDPI)

  • 我觉得在这5种情况下,我涵盖了所有屏幕密度(特别是检查图像大小)、最常见的屏幕比例(4:3和16:9,检查所有布局元素是否可访问)和两种最常见的屏幕尺寸(手机和平板电脑)。

    不确定确切的最小/最大值是多少,但如果按照2:1和1:2进行测试,我认为您是安全的。任何超出这个范围的设备都是非常罕见的。谢谢,这是一个不错的启发,但我想知道是否有人能找到一种方法来确定Android设备在那里(解析Wikipeidia页面或设备电子表格等)。我认为你不应该再像这样控制你周围的一切。只要遵循指导原则,相信一切都会成功。很高兴了解像素密度显示列表。还有方形屏幕!哦,天哪。但是谷歌并没有说他们的屏幕大小列表代表了多少用户比例——尽管他们必须拥有这些数据!是的,是摩托罗拉公司。不过,我怀疑它是否占据了市场的很大份额:)而且你得到了一些关于屏幕大小和密度的统计数据(见编辑后的答案)