2014-01-21 221 views
0

我想編程到多個屏幕。 我現在有兩個設備:Android:支持多屏幕

三星Galaxy S2爲4英寸的屏幕:480x800的 密度:1.5 高度(DP):533.3333 寬度(DP):320.0 屏幕布置:34 = 0010 0010

三星楊與3.2英寸的屏幕:分辨率320x480 密度:1.0 高度(DP):480.0 寬度(DP):320.0 屏幕布置:18 = 0001 0010

因此,該裝置在密度和屏幕布置不同(SCREENLAYOUT_LONG_YES與SCREENLAYOUT_LONG_NO)。

我準備了兩種尺寸的圖像按鈕,並將它們放在drawable-mdpi(用於較高分辨率)和drawable-ldpi(用於較低分辨率)。圖像按鈕具有相同的名稱。

我也編寫了兩種不同的佈局,但是使用相同的文件名並將它們放在佈局文件夾(用於較高分辨率)和佈局小(用於較低分辨率)。

我離開Java代碼時沒有任何改變,即它沒有檢查選擇高分辨率或低分辨率的分辨率。

問題是,這兩個設備轉到相同的文件夾,無論是在佈局和都在繪製。

我在做什麼錯? 在Android中處理多個屏幕尺寸的正確方法是什麼?

謝謝! AJ

+0

三星galaxy S2是hdpi設備,所以創建一個文件夾drawable-hdpi而不是drawable-mdpi。同樣,對於三星年輕人,它將從drawable-mdpi中獲取,而不是從drawable-ldpi中獲得 – Vaibs

+0

你犯了非常重要的錯誤。文件夾佈局較小,後綴-mdpi,ldpi等不依賴於屏幕分辨率。 mdpi - 取決於屏幕上的像素密度和佈局 - 小取決於屏幕的物理尺寸。請閱讀http://developer.android.com/guide/practices/screens_support.html瞭解它的工作原理以及爲什麼不需要使用屏幕分辨率。 –

+0

你是對的@Vaibs - 事實上我在這兩種設備之間混合。另外,Demand,我最終明白了這一點,並感謝您的大力幫助!我的解決方案是使用drawable-mdpi和drawable-hdpi以及佈局:layout-mdpi和layout-hdpi。這對我有效。 –

回答

2

中的每個文件夾

res/layout/my_layout.xml    // layout for normal screen size ("default") 
res/layout-small/my_layout.xml  // layout for small screen size 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-xlarge/my_layout.xml  // layout for extra large screen size 
res/layout-xlarge-land/my_layout.xml 

添加布局清單文件

<supports-screens android:resizeable=["true"| "false"] 
        android:smallScreens=["true" | "false"] 
        android:normalScreens=["true" | "false"] 
        android:largeScreens=["true" | "false"] 
        android:xlargeScreens=["true" | "false"] 
        android:anyDensity=["true" | "false"] 
        android:requiresSmallestWidthDp="integer" 
        android:compatibleWidthLimitDp="integer" 

和詳細link

+0

謝謝@Digvesh。你在答案中沒有提到可繪製的。我把drawable-mdpi(低分辨率)和drawable-hdpi(高分辨率)放在不同的圖像中。圖像具有相同的名稱。然而,更高分辨率的佈局,從mdpi文件夾,而不是從hdpi文件夾中選取繪圖。如何處理這個? –

+0

drawable-large-mdpi drawable-large-hdpi(適用於Nexus 7) //適用於10英寸平板電腦 drawable-xlarge-mdpi –

+0

謝謝!最終,我使用了layout-mdpi和layout-hdpi,它對我很有用! –

0

我覺得你只是使用了錯誤的文件夾爲您的設備。

正如您在Range of screen supported的部分所見,範圍沒有嚴格的界限。

知道哪些DPI設備是很重要的有:

  • 銀河S2:217 dpi的
  • 三星楊:133 dpi的

部分中 「使用配置的限定」 的在你上面有一張表格,其中描述了密度:

  • ldpi:〜120dpi
  • MDPI:〜160dpi
  • 華電國際:〜240dpi
  • xhdpi:〜320dpi

所以儘量把你的佈局和圖像從你的mdpi到您的hdpi文件夾,並從ldpimdpi

您也可以嘗試使用new size qualifiers,您可以在其中根據例如設備的最小寬度。