2013-02-19 52 views
0

我們想設計一個具體決議佈局如下:支持與大小預選賽多個屏幕

三星二重奏:480 X 800的Android版本4.0.4 HTC速度:540 X 960

這樣做我們已經創建的佈局文件夾爲每個如下:

佈局w480dp-h800dp 佈局w540dp-h960dp

假設,如果我們在三星應用程序運行它duaos應該選擇的辣油ts從 layout-w480dp-h800dp文件夾,但它給出錯誤並且無法啓動活動。

的錯誤是:

android.content.res.Resources $ NotFoundException:資源ID#0x7f030029

這意味着它無法找到該活動所需的佈局。 HTC Velocity也一樣。

我們做錯了什麼?

請讓我們知道,如果你有任何想法。

回答

0

必須有一些資源嘗試刪除從繪製一個圖像文件,並添加它再次編譯項目有問題,應該運行

+0

其實我們已經驗證R.java爲「資源ID#0x7f030029」,發現它在談論佈局文件。 – Umang 2013-02-19 11:44:13

+0

你試過我說的嗎?,相信我是一名教練,我總是說「永遠不要相信Eclipse」。 – 2013-02-19 12:26:27

+0

是的,但得到了相同的結果 – Umang 2013-02-19 12:49:00

0

你嘗試清理和建設?它通常有所幫助看上去如R發電已損壞

+0

是的,但結果是一樣的。 – Umang 2013-02-19 12:09:29

0

你的假設是錯誤的。 layout-w480dp-h800dp不適用於480x800像素的屏幕。 DP與PX不同。請閱讀此http://developer.android.com/guide/practices/screens_support.html

你確定你真的需要如此相似的手機不同的設計?我會說這是毫無意義的。

在我看來最多ü應該區分3種類型的設備。

res/layout/main_activity.xml   # For handsets (smaller than 600dp available width) 
res/layout-sw600dp/main_activity.xml # For 7」 tablets (600dp wide and bigger) 
res/layout-sw720dp/main_activity.xml # For 10」 tablets (720dp wide and bigger) 

如果你還想做什麼你正在嘗試做的,你可以嘗試PX代替DP。但林不知道這是否會工作...

+0

馬克,我們明白了你的觀點,但也想考慮高度 – Umang 2013-02-19 12:12:22

+0

你是否僅僅爲這兩款設備做你的應用?如果是的話,你真的想區分他們計算px到DP應該工作。請記住,當屏幕高度爲800像素時 - 由於系統欄的原因,活動的實際工作空間較小。當回答我的問題是NO。然後改變你的設計 - 這兩個設備應該有相同的佈局,你只需要正確使用dp,重量等。 – Mark 2013-02-19 12:29:21

+0

我們嘗試使用res/layout-sw480dp/activity_home.xml並在Samsung二重奏上執行應用程序,但結果相同。 – Umang 2013-02-19 12:29:38

0

你有涉及到您的活動默認佈局?我的意思是含有相同名稱的佈局每個文件夾。

+0

不,我們正在嘗試通過定義佈局文件夾和尺寸標籤來設計Samsung Duos和HTC Velocity的佈局。我們也嘗試過將像素轉換爲dp,意思是480 x 800分辨率,它是layout-2720dp-h1200dp,但得到了相同的結果。 – Umang 2013-02-19 12:07:31

+0

你還在試圖做一些奇怪的事情......當谷歌說720dp是10英寸的屏幕時,2720dp怎麼可能是你的屏幕尺寸(4英寸HTC)。 ?! – Mark 2013-02-19 12:10:12

+0

ohh對不起,這是錯字錯誤 – Umang 2013-02-19 12:19:13