2014-09-11 97 views
0

目前在Android開發中,開始開發專門針對Android平板電腦的新版本相當常見。 (通常這不是平板電腦的額外佈局,而是全新的應用程序,因爲管理碎片的邏輯與手機版本已開始的邏輯完全不同。)Android:如何讓資源爲平板電腦取代手機資源

在外面的團隊中,我們在res/values文件夾中安裝了Android資源值,特別是尺寸定義內dimens.xml

當這個平板電腦版本說,必須在手機上工作,以及出現問題。

Android假設替代資源被放入values-smallvalues-normal,values-large,values-xlarge

參見Providing Resources article,例如,當地sdk/docs/guide/topics/resources/providing-resources.html

首先,它沒有明確的文檔說,但我認爲裏面是values實際上是默認的屏幕尺寸與默認密度values-normal即默認值(即手機) 是這個建議嗎?

然後沒有所有values遷入values-xlarge(因爲他們實際上是被設計用平板記),如何重新定義(或「覆蓋」)裏面dimens.xml特定尺寸值?

我不能移動,因爲有很多文件,有些正在開發中。

screen-ranges

Supporting Multiple Screens例如PIC sdk/docs/guide/practices/screens_support.html

相關SO問題:

UPDATE-1 values是不一樣的values-normal,作爲價值投入value-small會讀xlarge配置(當沒有其他配置時)

回答

1

首先,它是不是在文件明確說,但我認爲裏面是價值實際上值,即正常默認密度(即手機)的默認屏幕尺寸的默認值這個建議是否正確?

res/values/根本不符合屏幕尺寸。

然後,如果沒有將所有值移動到值-xlarge(因爲它們實際上是用Tablet設計的),如何在dimens.xml中重新定義(或「覆蓋」)特定維度的值?

res/values/中有每個值中的一個。默認情況下,這將用於所有屏幕尺寸。

然後,在其他資源集中,例如res/values-large/,爲選定資源提供備選定義,其中在所述屏幕尺寸或更大需要那些替代方案。

而且,您可能希望考慮切換到-swNNNdp和親屬關於原始屏幕大小的設置,以獲得更大的靈活性。

+0

-swNNNdp配置限定符自API級別13. – 2014-09-11 12:41:47

+0

@PaulVerest:正確。但是,很少有運行低於API Level 13的'large'或'xlarge'屏幕設備。 – CommonsWare 2014-09-11 12:43:45

+0

確認:您是否說我不需要移動到'res/values-large /',而是重新定義一些'res/values-normal /'中的值? – 2014-09-11 12:46:02

1

我不能移動,因爲有很多文件,有些正在開發中。

正如你已經回答你自己,要解決這個問題,你需要移動文件,所以你只需要咬緊牙關,繼續下去。這些「正在開發中」的文件需要在準備好時放置在適當的位置。

假設您使用的是像Git這樣的代碼管理系統,移動這些文件並沒有什麼大不了的 - 它們仍然保留了所有的版本歷史記錄。

相關問題