2010-09-14 60 views
5

我覺得我好像錯過了一些東西。Android-提供替代資源不工作?

在我的應用程序中,我決定提供替代的可繪製資源和替代佈局文件。我的結構如下:

RES /抽拉-HDPI/filename.png
RES /抽拉-MDPI/filename.png
RES /抽拉-LDPI/filename.png

RES /佈局小/layout.xml
RES /佈局大/ layout.xml
RES /佈局/ layout.xml

我創建了三個不同的仿真器:一個使用默認HVGA,一個具有QVGA,和一個與WVGA800

它似乎沒有選擇那些基於屏幕尺寸/密度的替代資源/佈局,或者我可能不知道?

除了使用每種特定尺寸的設備之外,還有其他方法來測試它嗎?還是我錯過了一些重要的東西?

另一個問題,如果沒有替代資源存在,Android可伸縮性如何提高?

回答

1

幾個點,沒有特定的順序:

  • 佈局相關的屏幕尺寸,並因此大,中,小和繪圖相關的密度,並因此HDPI,MDPI,LDPI。對某些人來說這是顯而易見的,對其他人來說也不那麼容易理解
  • 通過this進行閱讀並按照本頁面中的說明創建您的仿真器設備,仔細檢查以確保您的設備正確無誤。
  • 現在開始只是一個簡單的佈局,並在默認設備皮膚上測試它,然後添加布局-320x480,測試,重複其他尺寸。如果你正在使用佈局大/小等,請記得添加正確的行到AndroidManifest.xml <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:resizable="true" android:anyDensity="true" />
  • 一個簡單的方法來做到這一點是有一個默認的layout.xml和drawables文件夾,並且對於不同的大小有layout- 320x480.xml等文件夾和不同的密度,我們可以繪製 - hdpi等文件夾。如果您確保在清單文件中設置android:anyDensity="false" />,手機將根據其屬性獲取正確的佈局和資產。

如果您在清單文件中設置android:anyDensity="false" />手機將處理drawables的大小,通常從drawables文件夾獲取資源並調整其大小。

+0

好點。請注意,根據[文檔](http://developer.android.com/guide/topics/manifest/supports-screens-element.html),不應在清單中使用「android:resizable」。 – 2013-09-20 10:55:42

1

在3.2以上版本的Android開發者已經發布了兩個新的東西用於片劑

layout-sw600dp-land 
layout-sw720-land