2012-04-09 56 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