【问题标题】:Android - submit different version of app for tablet vs phoneAndroid - 为平板电脑和手机提交不同版本的应用程序
【发布时间】:2013-06-20 22:38:21
【问题描述】:

是否可以将不同版本的应用(不同的 .apk)提交到 google play 以获取应用的平板电脑版本,例如苹果?

否则,我如何区分分辨率为 1280 x 720 (galaxy s3) 的手机设备和具有相同分辨率的平板电脑?因为我想根据应用是在平板电脑还是手机上运行来加载不同的布局。

谢谢

【问题讨论】:

    标签: android user-interface apk


    【解决方案1】:

    这就是布局文件夹的用途。有用于低、中、高和超高密度屏幕分辨率的密度属性,例如 ldpi、mdpi、hdpi、xhdpi。

    屏幕尺寸也有 small、normal、large、xlarge。

    您可以拥有诸如 res/layout-normal-hdpires/layout-large-hdpi 之类的文件夹以及许多其他文件夹,其中包含所有各种 xml 布局每个文件夹和 Android 都会从最合适的文件夹中拉出布局来显示。

    另见:http://developer.android.com/guide/practices/screens_support.html

    【讨论】:

    • 啊,我明白了,问题是我使用的是 Marmalade SDK,所以我没有这些文件夹。
    • @Lukesmith 我不熟悉 Marmalade SDK,您能否解释一下其中的 Android 应用程序的文件夹结构,只需将其编辑到您的问题中即可?谢谢。
    • 我使用 Marmalade SDK 使用 C++ 工作,然后它发挥了魔力,并以某种方式创建了 APK。这样做的目的是您可以构建一次并部署到多个平台。
    • 有什么方法可以像苹果一样向应用商店提交一个单独的应用程序吗?
    • 是的,实际上我可以从 dpi 和分辨率中得出以英寸为单位的屏幕尺寸,所以我想最有意义的是,以屏幕英寸为基础进行比较并加载适当的 UI。此处解释了该计算 (stackoverflow.com/questions/6589101/…)。非常感谢您的帮助。
    【解决方案2】:

    我认为最好的解决方案是使用 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 的最小屏幕尺寸(以英寸/厘米为单位)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-07
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多