簡體   English   中英

如何在Android上支持不同的屏幕尺寸和不同的密度

[英]How to support different screens sizes AND different densities on Android

我知道Android中資源的<resources_name>-<qualifier>命名約定,以及如何將它們用於屏幕尺寸(例如<drawable_xLarge> )或屏幕密度(例如<drawable xhdpi> )。

我想知道,對於每種屏幕尺寸變化,如何處理支持不同密度的情況。

<drawable-xlarge>
    <drawable-xhpdi>
    <drawable-hpdi>
    <drawable-mpdi>
    <drawable-lpdi>

<drawable-large>
    <drawable-xhpdi>
    <drawable-hpdi>
    <drawable-mpdi>
    <drawable-lpdi>
...

有人能啟發我嗎? 干杯

這是一個非常復雜的問題。 您應該檢查的文檔中有很好的解釋。

http://developer.android.com/guide/practices/screens_support.html

否則,您的問題太開放了。

您將在文檔中找到的特定段落是:

為不同的屏幕尺寸提供不同的布局

默認情況下,Android會調整應用程序布局的大小以適合當前設備屏幕。 在大多數情況下,這可以正常工作。 在其他情況下,您的UI可能看起來不那么好,可能需要針對不同的屏幕尺寸進行調整。 例如,在較大的屏幕上,您可能需要調整某些元素的位置和大小以利用額外的屏幕空間,或者在較小的屏幕上,可能需要調整大小以使所有內容都適合屏幕。

可用於提供特定於大小的資源的配置限定符為small,normal,large和xlarge。 例如,超大屏幕的布局應放在layout-xlarge /中。

從Android 3.2(API級別13)開始,不建議使用上述大小組,而應使用swdp配置限定符定義布局資源所需的最小可用寬度。 例如,如果您的多窗格平板電腦布局需要至少600dp的屏幕寬度,則應將其放置在layout-sw600dp /中。 關於聲明Android 3.2平板電腦布局的部分中,將進一步討論使用新技術聲明布局資源。

有兩種方法可以解決此問題。

第一

如下定義您的可繪制對象。

drawable-small-mdpi
drawable-normal-hdpi
drawable-large-hdpi
drawable-xlarge-hldpi

參考: Android中的屏幕兼容性問題

第二

如果您想提供密度明智的可繪制對象,請按照以下方式進行操作。

例如,如果您想將drawable設置為最小寬度為600 dp,則創建目錄,名稱為

drawable-sw600dp

就像720 dp一樣,用名稱創建目錄

drawable-sw720dp

這樣,您可以定義密度明智的可繪制目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM