2012-04-09 69 views
0

我开发了一个android应用程序,其GUI是为小屏幕设计的。在平板电脑上运行时,它看起来很垃圾,因为我假设宽度为320dp,这使我的生活更轻松 - 我没有资源在平板电脑上进行测试。Android Tablet Zoom选项丢失

使用android 3.2的用户可以放大应用程序,使其看起来像在大手机上运行。但是在我上次更新之后,该选项不可用,并且我不明白为什么。

更改与Manifest文件有关。这里是我的一部开拓创新的应用程序有什么(有无关的屏幕在我的清单的):

<uses-sdk android:minSdkVersion="7" /> 

更新我的开发环境后,我得到了一个警告,说我应该指定一个目标SDK,所以我这样做:

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="10" /> 

使用一个缓慢的Android 3.2模拟器我已经确认这导致了这个问题。我认为任何低于11的目标SDK都不会影响缩放选项?

使用以下也去掉了缩放选项:

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="9" /> 

但这并不:

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="8" /> 

所以我的目标SDK设置为8是一种解决方法,但它也是错误的,因为我使用版本2.3.3进行测试。

我在这里错过了什么吗?有更好的解决方案吗?

谢谢。

回答

2

尝试设置targetSdkVersion 9(或10)加入<supports-screens android:xlargeScreens="false" />到AndroidManifest.xml(文档为supports-screens)。这告诉系统您的应用程序没有明确支持xlarge屏幕,并且它应该为在xlarge设备上使用该应用程序的用户提供兼容性缩放/缩放选项。请注意,这将而不是导致该应用在Play商店中的xlarge设备上隐藏(如果它们被设计为在较大屏幕上运行而不是相反方向,则supports-screens仅导致Play商店过滤来自较小屏幕的应用)。

我认为这是发生在您将targetSdkVersion设置为9+之后的原因,因为在API级别9中添加了支持屏幕xlargeScreens,并且(我相信)默认为true(至少对于API Level 9+)。一旦xlargeScreens为true,系统将禁用兼容性缩放/缩放模式。

支持文档(如果它确实这样说,但相当令人费解):

+0

我尝试添加一个'支持-screens'项目,但它没有被识别,因为我的应用程序是针对2.1 SDK构建的;我认为我需要构建一个2.3来使用它?我能做到这一点,仍然支持2.1? – Fish 2012-04-09 12:42:03

+1

是的,您应该构建与targetSdkVersion相同的版本。你只需要小心你不要使用早期版本的任何API调用,而不先检查API级别(新的Android Lint工具有一个规则来帮助识别)。 – AdamK 2012-04-09 12:44:06