2013-08-17 87 views
-1

我已經看到了解決這個問題的其他問題,但答案似乎不符合我的問題,所以我想我會問自己。簡單的Android佈局解釋

我開發了一個小的Android應用程序,最初測試了針對Galaxy Nexus的模擬器。然後我在Galaxy S4上測試它。最終我想讓它在更多的設備上可用,並開始實施一些支持庫。

當我去測試這個,我開始使用Nexus S的2.3模擬器形象,我意識到我的佈局是超過了屏幕。看看這兩個「設備」的屏幕尺寸,這是有道理的。所以,我想創建一個不同的佈局(或者可能是不同的strings.xml用較短的標籤名稱,但現在我們只專注於佈局),這將通過的Nexus S.使用

不幸的是,我不能找到一個文件夾名稱,導致Nexus S拿起它,而Galaxy Nexus則沒有。

更重要的是,我甚至不能確定這被認爲是很好的設計。我想我可能已經讀到過,一般來說,手機(和平板電腦等)應該使用相同的佈局(儘管老實說,發送給我的是錯誤的)。

有人能解釋我看到的行爲,並告訴我如何我要設置這個,所以我有兩個設備不同的佈局(或爲什麼這是一個壞主意)?

也許這兩者的結合,將有助於。可能的問題是,我試圖創建一個小設備的佈局來定位Nexus S,事實上,它被認爲是「正常的」,我應該一直在嘗試創建一個佈局來定位「更大」的Galaxy Nexus ...

Galaxy Nexus
Nexus S

我也可以看着this

解決 就收了這一點,上面正是用了。事實證明,從Android的角度來看,Nexus S更加「正常」,而Galaxy Nexus將從「sw360dp」(佈局 - sw360dp,values-sw360dp)配置文件(如果可用)。所以,在values-sw360dp中使用常規字體大小創建一個styles.xml,然後將默認styles.xml的字體更改爲較小的值就行了。

+0

http://developer.android.com/guide/practices/screens_support.html。檢查這將有助於 – Raghunandan

+0

我很欣賞這一點,但它並沒有真正幫助我實現這兩個設備的實際方面,正如我所描述的。看看我的其他評論。 – Michael

回答

0

你必須在res文件夾內,不同的佈局,以確保佈局中的每個設備配合, 只需複製並粘貼到您的XML這是即

layout-large創造了不同的佈局問題,layout-small等, 在這之後使它的固定,以便您的xml適合設備,

僅供參考:ldpi手機將從您的佈局獲取佈局xml - 小,所以你不必擔心其他設備。 這裏是link that help you

+0

我理解這個概念。問題在於,通過我給出的實例 - Nexus S和Galaxy Nexus進行實踐。 – Michael

0

RES /佈局/ my_layout.xml //適用佈局正常屏幕尺寸( 「默認」)

RES /佈局小/ my_layout.xml //適用佈局小屏幕尺寸

res/layout-large/my_layout。XML //佈局大尺寸屏幕

RES /佈局XLARGE/my_layout.xml //適用於佈局超大屏幕尺寸

RES /佈局XLARGE土地/ my_layout.xml //適用於佈局特大型在橫向

RES /抽拉-MDPI/my_icon.png //適用位圖中密度

RES /抽拉-HDPI/my_icon.png //適用位圖用於高密度

RES /抽拉-xhdpi /my_icon.png //用於超高密度的位圖

這是根據針對Android用戶界面最佳做法設置的設計指南的最佳方法。

+0

我明白這一點。我的問題是,我找不到佈局文件夾的命名約定,這將被這兩個非常不同的設備中的一個拾取,而不是另一個。 – Michael