【发布时间】:2013-06-20 22:38:21
【问题描述】:
是否可以将不同版本的应用(不同的 .apk)提交到 google play 以获取应用的平板电脑版本,例如苹果?
否则,我如何区分分辨率为 1280 x 720 (galaxy s3) 的手机设备和具有相同分辨率的平板电脑?因为我想根据应用是在平板电脑还是手机上运行来加载不同的布局。
谢谢
【问题讨论】:
标签: android user-interface apk
是否可以将不同版本的应用(不同的 .apk)提交到 google play 以获取应用的平板电脑版本,例如苹果?
否则,我如何区分分辨率为 1280 x 720 (galaxy s3) 的手机设备和具有相同分辨率的平板电脑?因为我想根据应用是在平板电脑还是手机上运行来加载不同的布局。
谢谢
【问题讨论】:
标签: android user-interface apk
这就是布局文件夹的用途。有用于低、中、高和超高密度屏幕分辨率的密度属性,例如 ldpi、mdpi、hdpi、xhdpi。
屏幕尺寸也有 small、normal、large、xlarge。
您可以拥有诸如 res/layout-normal-hdpi 和 res/layout-large-hdpi 之类的文件夹以及许多其他文件夹,其中包含所有各种 xml 布局每个文件夹和 Android 都会从最合适的文件夹中拉出布局来显示。
另见:http://developer.android.com/guide/practices/screens_support.html
【讨论】:
我认为最好的解决方案是使用 Marmalade 的此扩展程序来获取运行应用程序的设备的 dpi (github.com/marmalade/dpi),然后得出屏幕的对角线尺寸(以英寸为单位)下面的公式:
DiagonalInches = SQRT(((screenWidth / dpi)^2) + ((screenHeight / dpi)^2))
在代码中:
double x = Math.pow(screenWidthPixels / dpi, 2);
double y = Math.pow(screenHeightPixels / dpi, 2);
double screenInches = Math.sqrt(x+y);
然后只需确定使用平板电脑 UI 的最小屏幕尺寸(以英寸/厘米为单位)
【讨论】: