我开发了一个Android应用程序,其GUI设计用于小屏幕。当在平板电脑上运行时,它看起来很垃圾,因为我假设320dp的宽度让我的生活更轻松 - 我没有资源在平板电脑上进行测试。
使用Android 3.2的人能够放大应用程序,因此它看起来像是在大手机上运行。但在我上次更新后,该选项不可用,我不明白为什么。
此更改与Manifest文件有关。这是我的orignal应用程序的内容(我的清单中的屏幕没有任何关系):
<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版进行测试。
我在这里遗漏了什么吗?有更好的解决方案吗?
感谢。
答案 0 :(得分:2)
尝试将targetSdkVersion设置为9(或10)并将<supports-screens android:xlargeScreens="false" />
添加到AndroidManifest.xml(supports-screens的文档)。这告诉系统您的应用程序没有明确支持xlarge屏幕,并且它应该为在xlarge设备上使用该应用程序的用户提供兼容性缩放/缩放选项。请注意,这将不导致应用程序从Play商店中的xlarge设备隐藏(supports-screens
只会导致Play商店从较小的屏幕过滤应用,如果它们设计为在较大的屏幕上运行,而不是相反)。
我认为将targetSdkVersion设置为9+后发生这种情况的原因是因为在API级别9中添加了supports-screens xlargeScreens,并且(我相信)默认为true(至少对于API级别9+)。一旦xlargeScreens为真,系统将禁用兼容性缩放/缩放模式。
支持文档(它说的确如此,但相当复杂):