在ICS上运行的Android Honeycomb应用程序(Ice Cream Sandwitch)



我有一个为Honeycomb开发的应用程序(最初是3.0),在ICS发布后,用户可以将其安装到带有ICS的手机上,而不仅仅是平板电脑上。我该如何过滤这些手机?我试过使用<support-screens>,但不起作用。还有一件有趣的事情(至少对我来说),我的应用程序不会缩小到更小的屏幕。我使用了固定大小的控件,但大小是dp。

简而言之:

  1. 有人知道我如何过滤ICS手机?(最好来自代码)
  2. 我应该做些什么来支持ICS手机?(我想我需要为ICS手机实现一个全新的布局,但我仍然有一个问题,我如何确定它是什么类型的设备,手机还是平板电脑
public static boolean isHoneycomb() {
    // Can use static final constants like HONEYCOMB, declared in later versions
    // of the OS since they are inlined at compile time. This is guaranteed behavior.
    return Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB;
}
public static boolean isTablet(Context context) {
    return (context.getResources().getConfiguration().screenLayout
            & Configuration.SCREENLAYOUT_SIZE_MASK)
            >= Configuration.SCREENLAYOUT_SIZE_LARGE;
}
public static boolean isHoneycombTablet(Context context) {
    return isHoneycomb() && isTablet(context);
}

复制自以下答案:https://stackoverflow.com/a/8427523/253583

你可能还想限制安卓市场允许用户在带有http://developer.android.com/guide/topics/manifest/supports-screens-element.html在你的清单上。

您可以使用进行检查

if(Build.VERSION.SDK_INT >= 14) {
    //ics
}

其中Build是android.os.Build类

如果你只想让你的应用程序在平板电脑市场上显示,请在AndroidManifest.xml中使用<support-screens>属性(更多信息请点击此处)。确保在Honeycomb 3.2(x大、大)和3.2+(600dp等)之前都使用了这两个标识符。

你所说的"我的应用程序不按比例缩小"到底是什么意思?你能在这里提供更多信息吗?

最新更新