2016-12-20 54 views
1

我開發了一個特定應用程序10.1英寸顯示器(2560x1600)和我的佈局文件被寫入適合該特定分辨率。Android,10.1和9.7英寸顯示器的不同佈局

現在我需要製作相同的應用程序來使用9.7英寸顯示屏(2048x1536)。 這是我第一次做這樣的事情,我不知道哪種方法是正確的。在新平板電腦中使用實際的佈局文件有點亂,沒有合適的東西,就像放大舊的一樣。

我讀過一些關於創建不同的佈局文件夾,但問題是,如果我創建一個文件夾「佈局sw720dp」片都使用相同的佈局,這是我不想。 「不同的佈局文件」正確的方法?如果是這樣,我怎麼能指定一個特定的「決議」或任何佈局?

還有其他方法可以解決這個問題嗎?

謝謝!

回答

2

在Android中,有不同類型的屬性限定符可以幫助我們爲不同類型/分辨率的設備設計應用程序。然而,在這裏的特殊情況下,這兩種解決方案几乎適用於所有限定符類型的相同屬性。

他們都會根據支架xlarge設備。所以你不能使用這些限定符。但有一點不同的是兩個分辨率的shortest width限定符。

2560 x 1600的最短寬度爲800DP和最短寬度爲2048×1536768dp。因此,您可以使用layout-sw<>dp屬性來區分這兩個設備。

爲10.1英寸的顯示器(2560 X 1600):layout-sw800dp
爲9.7英寸的顯示器(2048×1536):layout-sw768dp

當使用layout-sw720dp文件夾,兩個設備將相同的文件夾的最短兩個設備的寬度均大於720.請查看此developer doc section(特別是表格)瞭解更多信息。

+0

這就是它!所以「xxx」dp是分辨率/ 2?並且,當我用這個分辨率和屏幕尺寸創建新的虛擬設備時,它是如何自動選擇「800dp」版本而不是768dp版本的? (也許這裏值得另一個問題......) – Biyorl

+0

不,不總是解析/ 2。它將基於設備的密度和分辨率。這就是這樣。 'xhdpi = 320dp = 2 x mdpi(基礎密度)' – Renjith

0

如果您的佈局設計正確layout-sw720dp應該完美地處理兩個平板電腦。

如何爲特定「分辨率」指定佈局?

對於這部分有兩種類型的寬度前綴。 layout-wXXX適用於寬度恰好爲XXX的設備,不多也不少。而layout-swXXX適用於寬度至少爲XXX的設備。

再次,精心設計的layout-sw720dp文件夾應該涵蓋您的需求。

+0

嗯,我認爲你是對的Eric,它的設計不是很好,因爲它的設計考慮了一個非常具體的設備,所以靈活性很差。 – Biyorl

1

在android studio的應用程序的應用程序文件夾中,轉到res-> layout,右鍵單擊選擇New - > Layout resource file。在新的資源文件窗口中,提供文件名稱維度。 關於可用限定符選擇維度並將其推送到所選限定符中,並將維度指定爲2048x1536。您可以使用此文件指定尺寸爲2048x1536的平板電腦的佈局。

相關問題