devise一个Android平板电脑的应用程序

假设我想要构build2套不同的平板电脑版式。 一个600dp(7“平板1024×600)和一个720dp(10”平板1280×720或1280×800)

我明白,与Android 3.2,你现在可以指定平板布局。 我明白,但如何在Google Play上指定这是一款平板电脑应用。

有这个android:requireSmallestWidthDp指定所需的最小最小宽度。 很好,但在指南后面你可以阅读

警告:Android系统不关注这个属性,所以它不会影响你的应用程序在运行时的行为。 而是用于为您的应用在Google Play等服务上启用过滤function。 但是,Google Play目前不支持用于过滤的属性(在Android 3.2上),所以如果您的应用程序不支持小屏幕则应继续使用其他大小属性。

所以它没有被系统使用,也没有被Google Play使用…所以基本上没用,对吧?

如果您的应用程序不支持小屏幕,您应该继续使用其他大小的属性。

好。 还有什么其他尺寸属性 支持屏幕之一? Xlarge:屏幕至less960dp x 720dp大:屏幕至less640dp x 480dp

1024×600的7英寸平板电脑是一个“大”的屏幕,所以我基本上必须为640×480分辨率devise一个布局,因为如果我希望我的应用程序可用于2种不同尺寸的平板电脑,我必须启用大尺寸和大尺寸屏幕。

所以我想我可以build立2套不同的布局

res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger) res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger) 

完全忽略为较小的屏幕指定布局,但应用程序会在较小的屏幕上崩溃。 这是一种防止应用程序运行的方式,确实不够高雅。

有没有办法让应用程序仅适用于Google Play上600dp或更大的屏幕? 我很困惑。 我想制作一款仅支持平板电脑的应用程序,因为640×480手机无法在Google-Play上下载。 我想我错过了一些非常明显的东西。

为了让您的应用程序仅在Google Play中运行ICS的平板电脑进行过滤,您可以在AndroidManifest中执行此操作:

 <supports-screens android:largeScreens="true" android:normalScreens="false" android:requiresSmallestWidthDp="600" android:smallScreens="false" android:xlargeScreens="true" /> <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" /> 

要获得HoneyComb平板电脑,只需更改您的minSdk

  <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="14" /> 

因此,你现在说姜饼(2.3)及以下不能下载你的应用程序(因为他们不是平板电脑, 也没有devise在平板电脑上工作,即使它被黑客入侵 )。

HoneyComb Tablets(3.0)被支持(因为<3.2忽略requiresSmallestWidth属性)

没有电话运行蜂窝

ICS平台支持,因为它看你的smallestWidth属性

最后ICS电话不是因为我们说ICS使用最小的宽度属性

基本上不能像手机和平板电脑一样清晰。 我不会反刍我刚读过的东西,希望这会有所帮助。

请参阅此答案: 仅适用于平板电脑

而这一个: Android应用程序只适用于平板电脑?