是否可以向 google play 提交不同版本的应用程序(不同的 .apk)以获取应用程序的平板电脑版本,例如苹果?
否则如何区分分辨率为 1280 x 720 (galaxy s3) 的手机设备和具有相同分辨率的平板电脑?因为我想根据应用程序是在平板电脑还是手机上运行来加载不同的布局。
谢谢
是否可以向 google play 提交不同版本的应用程序(不同的 .apk)以获取应用程序的平板电脑版本,例如苹果?
否则如何区分分辨率为 1280 x 720 (galaxy s3) 的手机设备和具有相同分辨率的平板电脑?因为我想根据应用程序是在平板电脑还是手机上运行来加载不同的布局。
谢谢
这就是布局文件夹的用途。有用于低、中、高和超高密度屏幕分辨率的密度属性,例如 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 的最小屏幕尺寸(英寸/厘米)