2012-06-08 182 views
2

我想爲Samsung Galaxy Note(5.3英寸顯示屏)和Acer Iconia Tab A100(7英寸顯示屏)使用不同的佈局。然而,它們都使用在RES聲明的佈局/佈局大7寸平板電腦android xlarge佈局

如上所述here,從Android 3.2的開始,顯影劑基於屏幕寬度可以聲明,而不是使用現在棄用佈局, xlarge和其他限定符。因此,我將在res/layout-sw600dp中爲宏基Iconia Tab A100聲明不同的佈局。

但是,如果平板電腦安裝了Android 3.0,是否有辦法實現2個設備的不同佈局?

回答

1

在Android 3.2之前,您可以嘗試使用屏幕密度和分辨率來導出物理大小,並根據運行時的計算選擇不同的資源(按名稱)。但是,鑑於不同尺寸的平板電腦的數量,準確性難以保證。

我會建議你試着想出一個在5「和7」平板電腦上工作正常的UI設計。

+0

感謝您的支持。我希望有一個更適合開發人員的解決方案來解決這個問題,但似乎沒有更好的方法。 – Gabriel

+0

關於獲取物理尺寸,我發現這個話題,對於那些面臨同樣問題的人:http://stackoverflow.com/questions/2193457/is-there-a-way-to-determine-android-physical-屏幕高度在-CM-或英寸 – Gabriel

1

你可以嘗試讓在代碼中DeviceModel並根據它是什麼設備加載佈局...

http://developer.android.com/reference/android/os/Build.html#MODEL

否則:什麼問題當兩個設備共享相同的佈局?

+1

如果您希望您的應用在兩種特定設備型號上以不同的方式工作,這種方法可行。不過,我認爲OP在問及如何在SDK 13之前處理5英寸和7英寸平板電腦的更普遍問題。 –