成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android適配難題全面總結

移動開發 Android
Android 可在各種具有不同屏幕尺寸和密度的設備上運行。對于 應用,Android 系統在不同設備中提供一致的開發環境, 可以處理大多數工作,將每個應用的用戶界面調整為適應其顯示的 屏幕。同時,系統提供 API,可用于控制 應用適用于特定屏幕尺寸和密度的 UI,以針對 不同屏幕配置優化 UI 設計。

支持多種屏幕

Android 可在各種具有不同屏幕尺寸和密度的設備上運行。對于 應用,Android 系統在不同設備中提供一致的開發環境, 可以處理大多數工作,將每個應用的用戶界面調整為適應其顯示的 屏幕。同時,系統提供 API,可用于控制 應用適用于特定屏幕尺寸和密度的 UI,以針對 不同屏幕配置優化 UI 設計。例如,您可能想要不同于手機 UI 的 平板電腦 UI。

雖然系統為使您的應用適用于不同的屏幕, 會進行縮放和大小調整,但您應針對不同的屏幕尺寸和密度優化 應用。這樣可以最大程度優化所有設備上的用戶體驗,用戶會 認為您的應用實際上是專為他們的設備而設計,而不是 簡單地拉伸以適應其設備屏幕。

按照本文檔所述的做法,您可以創建 正常顯示的應用,然后使用 一個 .apk 文件在所有支持的屏幕配置中提供優化的用戶體驗。

注:本文檔中的信息假設您的 應用設計用于 Android 1.6(API 級別 4)或更高級別。

另請注意,Android 3.2 引入了新的 API,可用于更 精確地控制應用用于不同屏幕尺寸的布局資源。如果您要開發針對平板電腦優化的應用,這些新 功能特別重要。

屏幕支持概覽

本節概述 Android 對多種屏幕的支持,包括: 本文檔和 API 中所用術語和概述的簡介、 系統支持的屏幕配置摘要,以及 API 和基本 屏幕兼容性功能的概述。

術語和概念

屏幕尺寸

按屏幕對角測量的實際物理尺寸。

為簡便起見,Android 將所有實際屏幕尺寸分組為四種通用尺寸:小、 正常、大和超大。

屏幕密度

屏幕物理區域中的像素量;通常稱為 dpi(每英寸 點數)。例如, 與“正常”或“高”密度屏幕相比,“低”密度屏幕在給定物理區域的像素較少。

為簡便起見,Android 將所有屏幕密度分組為六種通用密度: 低、中、高、超高、超超高和超超超高。

方向

從用戶視角看屏幕的方向,即橫屏還是 豎屏,分別表示屏幕的縱橫比是寬還是高。請注意, 不僅不同的設備默認以不同的方向操作,而且 方向在運行時可隨著用戶旋轉設備而改變。

分辨率

屏幕上物理像素的總數。添加對多種屏幕的支持時, 應用不會直接使用分辨率;而只應關注通用尺寸和密度組指定的屏幕 尺寸及密度。

密度無關像素 (dp)

在定義 UI 布局時應使用的虛擬像素單位,用于以密度無關方式表示布局維度 或位置。

密度無關像素等于 160 dpi 屏幕上的一個物理像素,這是 系統為“中”密度屏幕假設的基線密度。在運行時,系統 根據使用中屏幕的實際密度按需要以透明方式處理 dp 單位的任何縮放 。dp 單位轉換為屏幕像素很簡單: px = dp * (dpi / 160)。 例如,在 240 dpi 屏幕上,1 dp 等于 1.5 物理像素。在定義應用的 UI 時應始終使用 dp 單位 ,以確保在不同密度的屏幕上正常顯示 UI。

支持的屏幕范圍

從 Android 1.6(API 級別 4)開始,Android 支持多種屏幕尺寸和密度,反映設備可能具有的多種不同屏幕配置。 您可以使用 Android 系統的功能優化應用在各種屏幕配置下的用戶界面 ,確保應用不僅正常渲染,而且在每個屏幕上提供 最佳的用戶體驗。

為簡化您為多種屏幕設計用戶界面的方式,Android 將實際屏幕尺寸和密度的范圍 分為:

四種通用尺寸:小、正常、 大 和超大

注:從 Android 3.2(API 級別 13)開始,這些尺寸組 已棄用,而采用根據可用屏幕寬度管理屏幕尺寸的 新技術。如果為 Android 3.2 和更高版本開發,請參閱聲明適用于 Android 3.2 的平板電腦布局以了解更多信息。

六種通用的密度:

ldpi(低)~120dpi

mdpi(中)~160dpi

hdpi(高)~240dpi

xhdpi(超高)~320dpi

xxhdpi(超超高)~480dpi

xxxhdpi(超超超高)~640dpi

通用的尺寸和密度按照基線配置(即正常尺寸和 mdpi(中)密度)排列。 此基線基于第一代 Android 設備 (T-Mobile G1) 的屏幕配置,該設備采用 HVGA 屏幕(在 Android 1.6 之前,這是 Android 支持的唯一屏幕配置)。

每種通用的尺寸和密度都涵蓋一個實際屏幕尺寸和密度范圍。例如, 兩部都報告正常屏幕尺寸的設備在手動測量時,實際屏幕尺寸和 高寬比可能略有不同。類似地,對于兩臺報告 hdpi 屏幕密度的設備,其實際像素密度可能略有不同。 Android 將這些差異抽象概括到應用,使您可以提供為通用尺寸和密度設計的 UI,讓系統按需要處理任何最終調整。 圖 1 說明不同的尺寸和密度如何粗略歸類為不同的尺寸 和密度組。   

Android 如何將實際尺寸和密度粗略地 對應到通用的尺寸和密度 

圖 1. 說明 Android 如何將實際尺寸和密度粗略地 對應到通用的尺寸和密度(數據并不精確)。

在為不同的屏幕尺寸設計 UI 時,您會發現每種設計都需要 最小空間。因此,上述每種通用的屏幕尺寸都關聯了系統定義的最低 分辨率。這些最小尺寸以“dp”單位表示 — 在定義布局時應使用相同的單位 — 這樣系統無需擔心屏幕密度的變化。

超大屏幕至少為 960dp x 720dp

大屏幕至少為 640dp x 480dp

正常屏幕至少為 470dp x 320dp

小屏幕至少為 426dp x 320dp

注:這些最小屏幕尺寸在 Android 3.0 之前未正確定義,因此某些設備在正常屏幕與大屏幕之間變換時可能會出現分類錯誤的情況。 這些尺寸還基于屏幕的物理分辨率,因此設備之間可能不同 — 例如,具有系統狀態欄的 1024×720 平板電腦因系統狀態欄要占用空間,所以可供 應用使用的空間要小一點。

要針對不同的屏幕尺寸和密度優化應用的 UI,可為任何通用的尺寸和密度提供 替代 資源。通常,應為某些不同的屏幕尺寸提供替代布局,為不同的屏幕密度提供替代位圖圖像。 在運行時,系統會根據當前設備屏幕的通用 尺寸或密度對應用使用適當的資源。

無需為屏幕尺寸和 密度的每個組合提供替代資源。系統提供強大的兼容性功能,可處理在任何設備屏幕上 渲染應用的大多數工作,前提是您已經使用 可以適當調整大小的技術實現 UI(如下面的最佳做法所述)。

注:定義設備通用屏幕 尺寸和密度的特性相互獨立。例如,WVGA 高密度屏幕 被視為正常尺寸屏幕,因為其物理尺寸與 T-Mobile G1 (Android 的第一代設備和基線屏幕配置)大約相同。另一方面,WVGA 中密度 屏幕被視為大尺寸屏幕。雖然它提供相同的分辨率(相同的 像素數),但 WVGA 中密度屏幕的屏幕密度更低,意味著每個像素 實際上更大,因此整個屏幕大于基線(正常尺寸)屏幕。

密度獨立性

應用顯示在密度不同的屏幕上時,如果它保持用戶界面元素的物理尺寸(從 用戶的視角),便可實現“密度獨立性” 。

保持密度獨立性很重要,因為如果沒有此功能,UI 元素(例如 按鈕)在低密度屏幕上看起來較大,在高密度屏幕上看起來較小。這些 密度相關的大小變化可能給應用布局和易用性帶來問題。圖 2 和 3 分別顯示了應用不提供密度獨立性和 提供密度獨立性時的差異。   

不支持不同密度的示例應用在低、中、高密度屏幕上的顯示情況 

圖 2. 不支持不同密度的示例應用在低、中、高密度屏幕上的顯示情況。 

良好支持不同密度(密度獨立)的示例應用在低、中、高密度屏幕上的顯示情況。 

圖 3. 良好支持不同密度(密度獨立)的示例應用在低、中、高密度屏幕上的顯示情況。

Android 系統可幫助您的應用以兩種方式實現密度獨立性:

系統根據當前屏幕密度擴展 dp 單位數

系統在必要時可根據當前屏幕 密度將可繪制對象資源擴展到適當的大小

在圖 2 中,文本視圖和位圖可繪制對象具有以像素(px 單位)指定的尺寸,因此視圖的物理尺寸在低密度屏幕上更大,在高密度 屏幕上更小。這是因為,雖然實際屏幕尺寸可能相同,但高密度屏幕 的每英寸像素更多(同樣多的像素在一個更小的區域內)。在圖 3 中,布局 尺寸以密度獨立的像素(dp 單位)指定。由于 密度獨立像素的基線是中密度屏幕,因此具有中密度屏幕的設備看起來 與圖 2 一樣。但對于低密度和高密度屏幕,系統 將分別增加和減少密度獨立像素值,以適應 屏幕。

大多數情況下,確保應用中的屏幕獨立性很簡單,只需以適當的密度獨立像素(dp 單位)或 “wrap_content” 指定所有 布局尺寸值。系統然后根據適用于當前屏幕密度的縮放比例適當地縮放位圖可繪制對象,以 適當的大小顯示。

但位圖縮放可能導致模糊或像素化位圖,您或許已經在上面的屏幕截圖中 發現了這些問題。為避免這些偽影,應為 不同的密度提供替代的位圖資源。例如,應為高密度 屏幕提供分辨率較高的位圖,然后系統對中密度 屏幕將使用這些位圖,而無需調整位圖大小。下一節詳細說明如何為 不同的屏幕配置提供替代資源。

如何支持多種屏幕

Android 支持多種屏幕的基礎是它能夠管理針對當前屏幕配置 以適當方式渲染應用的布局和位圖 可繪制對象。系統可處理大多數工作,通過適當地 縮放布局以適應屏幕尺寸/密度和根據屏幕密度縮放位圖可繪制對象 ,在每種屏幕配置中渲染您的應用。但是,為了更適當地處理不同的屏幕配置 ,還應該:

在清單中顯式聲明您的應用 支持哪些屏幕尺寸

通過聲明您的應用支持哪些屏幕尺寸,可確保只有 其屏幕受支持的設備才能下載您的應用。聲明對 不同屏幕尺寸的支持也可影響系統如何在較大 屏幕上繪制您的應用 — 特別是,您的應用是否在屏幕兼容模式中運行。

要聲明應用支持的屏幕尺寸,應在清單文件中包含 supports-screens 元素。

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

默認情況下,Android 會調整應用布局的大小以適應當前設備屏幕。大多數 情況下效果很好。但有時 UI 可能看起來不太好,需要針對 不同的屏幕尺寸進行調整。例如,在較大屏幕上,您可能要調整 某些元素的位置和大小,以利用其他屏幕空間,或者在較小屏幕上, 可能需要調整大小以使所有內容納入屏幕。

可用于提供尺寸特定資源的配置限定符包括 small、normal、large 和 xlarge。例如,超大屏幕的布局應使用 layout-xlarge/。

從 Android 3.2(API 級別 13)開始,以上尺寸組已棄用,您 應改為使用 swdp 配置限定符來定義布局資源 可用的最小寬度。例如,如果多窗格平板電腦布局 需要至少 600dp 的屏幕寬度,應將其放在 layout-sw600dp/ 中。聲明適用于 Android 3.2 的平板電腦布局一節將進一步討論如何使用新技術聲明布局資源。

為不同屏幕密度提供不同的位圖可繪制對象

默認情況下,Android 會縮放位圖可繪制對象(.png、.jpg 和 .gif 文件)和九宮格可繪制對象(.9.png 文件),使它們以適當的 物理尺寸顯示在每部設備上。例如,如果您的應用只為 基線中密度屏幕 (mdpi) 提供位圖可繪制對象,則在高密度 屏幕上會增大位圖,在低密度屏幕上會縮小位圖。這種縮放可能在 位圖中造成偽影。為確保位圖的最佳顯示效果,應針對 不同屏幕密度加入不同分辨率的替代版本。

可用于密度特定資源的配置限定符(在下面詳述) 包括 ldpi(低)、mdpi(中)、 hdpi(高)、xhdpi(超高)、xxhdpi (超超高)和 xxxhdpi(超超超高)。例如,高密度屏幕的位圖應使用 drawable-hdpi/。

注:僅當要在 xxhdpi 設備上提供比正常位圖大的啟動器圖標時才需要提供 mipmap-xxxhdpi 限定符。無需為所有應用的圖像提供 xxxhdpi 資源。

有些設備會將啟動器圖標增大 25%。例如,如果您的最高 密度啟動器圖標已是超超高密度,縮放處理會降低其 清晰度。因此應在 mipmap-xxxhdpi 目錄中提供更高密度的啟動器圖標,系統將改為增大較小 的圖標。

請參閱提供 xxx-高密度啟動器圖標以了解詳細信息。對啟動程序圖標以外的 UI 元素不應使用 xxxhdpi 限定符。

注:將您的所有啟動器圖標放在 res/mipmap-[density]/ 文件夾中,而非 res/drawable-[density]/ 文件夾中。無論安裝應用的設備屏幕分辨率如何,Android 系統都會將資源保留在這些密度特定的文件夾中,例如 mipmap-xxxhdpi。此 行為可讓啟動器應用為您的應用選擇要顯示在主 屏幕上的最佳分辨率圖標。如需了解有關使用 mipmap 文件夾的詳細信息,請參閱管理項目概覽。

尺寸和密度配置限定符對應于 前面支持的屏幕范圍中所述的通用尺寸和密度。

在運行時,系統通過 以下程序確保任何給定資源在當前屏幕上都能保持盡可能最佳的顯示效果:

系統使用適當的替代資源

根據當前屏幕的尺寸和密度,系統將使用您的應用中提供的任何尺寸和 密度特定資源。例如,如果設備有 高密度屏幕,并且應用請求可繪制對象資源,系統將查找 與設備配置最匹配的可繪制對象資源目錄。根據可用的其他 替代資源,包含 hdpi 限定符(例如 drawable-hdpi/)的資源目錄可能是最佳匹配項,因此系統將使用此 目錄中的可繪制對象資源。

如果沒有匹配的資源,系統將使用默認資源,并按需要向上 或向下擴展,以匹配當前的屏幕尺寸和密度。

“默認”資源是指未標記配置限定符的資源。例如,drawable/ 中的資源是默認可繪制資源。 系統假設默認資源設計用于基線屏幕尺寸和密度,即 正常屏幕尺寸和中密度。 因此,系統對于高密度屏幕向上擴展默認密度 資源,對于低密度屏幕向下擴展。

當系統查找密度特定的資源但在 密度特定目錄中未找到時,不一定會使用默認資源。系統在縮放時可能 改用其他密度特定資源提供更好的 效果。例如,查找低密度資源但該資源不可用時, 系統會縮小資源的高密度版本,因為 系統可輕松以 0.5 為系數將高密度資源縮小至低密度資源,與以 0.75 為系數 縮小中密度資源相比,偽影更少。

如需有關 Android 如何通過使配置 限定符與設備配置匹配來選擇替代資源的更多信息,請參閱 Android 如何 查找最佳匹配資源。

使用配置限定符

Android 支持多種配置限定符,可讓您控制系統 如何根據當前設備屏幕的特性選擇替代資源。配置限定符是可以附加到 Android 項目中資源目錄的字符串,用于指定在其中設計資源的配置。

要使用配置限定符:

在項目的 res/ 目錄中新建一個目錄,并使用以下 格式命名: <resources_name>-<qualifier>

<resources_name> 是標準資源名稱(例如 drawable 或 layout)。

<qualifier> 是下表 1 中的配置限定符,用于指定 要使用這些資源的屏幕配置(例如 hdpi 或 xlarge)。

您可以一次使用多個 <qualifier> — 只需使用短劃線分隔每個 限定符。

將適當的配置特定資源保存在此新目錄下。這些資源 文件的名稱必須與默認資源文件完全一樣。

例如,xlarge 是超大屏幕的配置限定符。將 此字符串附加到資源目錄名稱(例如 layout-xlarge)時,它指向 要在具有超大屏幕的設備上使用這些資源的系統。

表 1. 可用于為 不同屏幕配置提供特殊資源的配置限定符。 

屏幕特性 限定符 說明

尺寸 small 適用于小尺寸屏幕的資源。

normal 適用于正常尺寸屏幕的資源。(這是基線尺寸。)

large 適用于大尺寸屏幕的資源。

xlarge 適用于超大尺寸屏幕的資源。

密度 ldpi 適用于低密度 (ldpi) 屏幕 (~120dpi) 的資源。

mdpi 適用于中密度 (mdpi) 屏幕 (~160dpi) 的資源。(這是基線 密度。)

hdpi 適用于高密度 (hdpi) 屏幕 (~240dpi) 的資源。

xhdpi 適用于超高密度 (xhdpi) 屏幕 (~320dpi) 的資源。

xxhdpi 適用于超超高密度 (xxhdpi) 屏幕 (~480dpi) 的資源。

xxxhdpi 適用于超超超高密度 (xxxhdpi) 屏幕 (~640dpi) 的資源。此限定符僅適用于 啟動器圖標,請參閱上面的注。

nodpi 適用于所有密度的資源。這些是密度獨立的資源。不管當前屏幕的密度如何,系統都不會 縮放以此限定符標記的資源。

tvdpi 適用于密度介于 mdpi 和 hdpi 之間屏幕(約為 213dpi)的資源。它并不是 “主要”密度組,主要用于電視,而大多數應用都不 需要它 — 對于大多數應用而言,提供 mdpi 和 hdpi 資源便已足夠,系統將根據需要對其進行 縮放。如果發現必須提供 tvdpi 資源,應以 1.33*mdpi 的系數 調整其大小。例如,mdpi 屏幕的 100px x 100px 圖像應該相當于 tvdpi 的 133px x 133px。

方向 land 適用于橫屏(長寬比)的資源。

方向port 適用于豎屏(高寬比)的資源。

縱橫比 long 適用于縱橫比明顯高于或寬于(分別在豎屏 或橫屏時)基線屏幕配置的屏幕的資源。

notlong 適用于使用縱橫比類似于基線屏幕 配置的屏幕的資源。

 注:如果是為 Android 3.2 和 更高版本開發應用,請參閱有關聲明適用于 Android 3.2 的平板電腦布局的章節,了解 在為特定屏幕尺寸聲明布局資源時應使用的 新配置限定符(而不是使用表 1 中的尺寸限定符)。

如需了解有關這些限定符如何粗略地對應于實際屏幕 尺寸和密度的更多信息,請參閱本文檔前面的支持的屏幕范圍 。

例如,以下應用資源目錄 為不同屏幕尺寸和不同可繪制對象提供不同的布局設計。使用 mipmap/ 文件夾放置 啟動器圖標。

  1. res/layout/my_layout.xml // layout for normal screen size (“default”) 
  2. res/layout-large/my_layout.xml // layout for large screen size 
  3. res/layout-xlarge/my_layout.xml // layout for extra-large screen size 
  4. res/layout-xlarge-land/my_layout.xml // layout for extra-large in landscape orientation 
  5. res/drawable-mdpi/graphic.png // bitmap for medium-density 
  6. res/drawable-hdpi/graphic.png // bitmap for high-density 
  7. res/drawable-xhdpi/graphic.png // bitmap for extra-high-density 
  8. res/drawable-xxhdpi/graphic.png // bitmap for extra-extra-high-density 
  9. res/mipmap-mdpi/my_icon.png // launcher icon for medium-density 
  10. res/mipmap-hdpi/my_icon.png // launcher icon for high-density 
  11. res/mipmap-xhdpi/my_icon.png // launcher icon for extra-high-density 
  12. res/mipmap-xxhdpi/my_icon.png // launcher icon for extra-extra-high-density 
  13. res/mipmap-xxxhdpi/my_icon.png // launcher icon for extra-extra-extra-high-density  

請注意,當 Android 系統在運行時選擇使用哪些資源時,它會使用 特定邏輯確定“最佳匹配”資源。也就是說,您使用的限定符無 需在所有情況下精確匹配當前屏幕配置,系統也可 使用它們。特別是,根據屏幕尺寸限定符選擇資源時,如果沒有更好的匹配資源,則系統將 使用專為小于當前屏幕的屏幕而設計的 資源(例如,如有必要,大尺寸屏幕將使用標準尺寸的屏幕 資源)。但是,如果唯一可用的資源大于當前屏幕, 則系統不會使用這些資源,并且如果沒有其他資源與設備 配置匹配,應用將會崩潰(例如,如果所有布局資源均用 xlarge 限定符標記, 但設備是標準尺寸的屏幕)。

提示:如果您有一些系統 應該永遠不會縮放(或許是因為您在 運行時親自對圖像做一些調整)的可繪制對象資源,則應將它們放在有 nodpi 配置限定符的目錄中。 使用此限定符的資源被視為與密度無關,系統不會縮放 它們。

設計替代布局和可繪制對象

您應該創建的替代資源類型取決于應用的需求。 通常,您應該使用尺寸和方向限定符提供替代布局資源 ,并且使用密度限定符提供替代位圖可繪制對象資源。

以下各節摘要說明您可能要如何使用尺寸和密度限定符 來分別提供替代布局和可繪制對象。

替代布局

一般而言,在不同的屏幕配置上測試應用后,您會知道 是否需要用于不同屏幕尺寸的替代布局。例如:

在小屏幕上測試時,可能會發現您的布局不太適合 屏幕。例如,小屏幕設備的屏幕寬度可能無法容納一排 按鈕。在此情況下,您應該為小屏幕提供調整 按鈕大小或位置的替代布局。

在超大屏幕上測試時,可能會發現您的布局無法 有效地利用大屏幕,并且明顯拉伸填滿屏幕。 在此情況下,您應該為超大屏幕提供替代布局,以提供 針對大屏幕(例如平板電腦)優化、重新設計的 UI。

雖然您的應用不使用替代布局也能在大屏幕上正常運行,但 必須讓用戶感覺您的應用看起來像是專為其 設備而設計。如果 UI 明顯拉伸,用戶很可能對 應用體驗不滿意。

而且,對比橫屏測試和豎屏測試時 可能會發現,豎屏時置于底部的 UI 在橫屏時應位于屏幕右側。

簡而言之,您應確保應用布局:

適應小屏幕(讓用戶能實際使用您的應用)

已針對大屏幕優化,可以利用其他屏幕空間

已同時針對橫屏和豎屏方向優化

如果 UI 使用的位圖即使在系統縮放 布局后也需要適應視圖大小(例如按鈕的背景圖片),則應使用九宮格位圖文件。九宮格文件基本上是一個指定可拉伸的二維區域的 PNG 文件。 當系統需要縮放使用位圖的視圖時,系統 會拉伸九宮格位圖,但只拉伸指定的區域。因此,您無 需為不同的屏幕尺寸提供不同的可繪制對象,因為九宮格位圖可 調整至任何大小。但您應該為不同的屏幕密度提供 九宮格文件的替代版本。

替代可繪制對象

 

 

支持每種密度的 位圖可繪制對象的相對大小。 

圖 4. 支持每種密度的 位圖可繪制對象的相對大小。

基本上每個應用都應該具有不同密度的替代可繪制對象 資源,因為基本上每個應用都有啟動器圖標,而且該圖標應該在 所有屏幕密度中看起來都很好。同樣,如果您的應用中包含其他位圖可繪制對象(例如 應用中的菜單圖標或其他圖形),則應該為不同密度提供替代版本或 每種密度一個版本。

注:您只需要為 位圖文件(.png、.jpg 或 .gif)和九宮格文件 (.9.png) 提供密度特定的可繪制對象。如果您使用 XML 文件定義形狀、顏色或其他可繪制對象資源,應該 將一個副本放在默認可繪制對象目錄中 (drawable/)。

要為不同的密度創建替代位圖可繪制對象,應遵循六種通用密度之間的 3:4:6:8:12:16 縮放比率。例如,如果您的 位圖可繪制對象是對中密度屏幕使用 48×48 像素,則所有不同的尺寸應為:

36×36 (0.75x) 用于低密度

48×48(1.0x 基線)用于中密度

72×72 (1.5x) 用于高密度

96×96 (2.0x) 用于超高密度

144×144 (3.0x) 用于超超高密度

192×192 (4.0x) 用于超超超高密度(僅限啟動器圖標;請參閱上面的 注)

如需了解有關設計圖標的更多信息,請參閱圖標設計指南, 其中包含各種位圖可繪制對象(例如啟動器圖標、菜單 圖標、狀態欄圖標、選項卡圖標等)的大小信息。

聲明適用于 Android 3.2 的平板電腦布局

對于第一代運行 Android 3.0 的平板電腦,聲明平板電腦 的正確方式是將它們放在有 xlarge 配置限定符的目錄(例如 res/layout-xlarge/)中。為適應其他類型的平板電腦和屏幕 尺寸 — 特別是 7 英寸平板電腦 — Android 3.2 引入了為更具體的屏幕尺寸指定資源 的新方式。新技術基于布局需要的空間量 (例如 600dp 寬),而不是嘗試讓您的布局容納通用化的尺寸組 (例如大或超大)。

使用通用化的尺寸組時,為 7 英寸平板電腦設計很棘手的原因在于, 7 英寸平板電腦在技術上與 5 英寸手機屬于同一個組(大組)。雖然 這兩種設備在尺寸上似乎很接近,但用于 應用 UI 的空間量明顯不同,用戶交互的方式也是如此。因此,7 英寸和 5 英寸 屏幕不一定使用相同的布局。為便于您為這兩種屏幕提供不同的 布局,Android 現在允許您 根據實際適用于應用布局的寬度和/或高度指定布局資源( 以 dp 單位數指定)。

例如,在設計要用于平板電腦樣式設備的布局之后,您可能 發現該布局在屏幕寬度小于 600dp 時不適用。此閾值 于是變成平板電腦布局需要的最小尺寸。因此,您現在可以指定應僅當至少有 600dp 寬度供應用的 UI 使用時才使用這些布局資源。

應選擇一個寬度并將其設計為最小尺寸,或者在布局設計完成后測試 其支持的最小寬度。

注:請記住,這些新尺寸 API 使用的所有數據是密度獨立的像素 (dp) 值,您的布局尺寸也應始終 使用 dp 單位定義,因為您關注的是系統 考慮屏幕密度后可用的屏幕空間量(與使用原始像素分辨率相反)。如需了解 密度獨立像素的更多信息,請參閱本文檔前面的術語和概念 。

使用新尺寸限定符

因為微信字數限制,請點擊左下角原文鏈接閱讀完整內容。

責任編輯:龐桂玉 來源: Android開發中文站
相關推薦

2009-11-05 15:58:37

無線接入點

2015-08-31 15:07:12

VDSLFTTH寬帶

2009-09-25 10:03:51

Java泛型

2009-09-16 11:19:48

Linq Select

2009-08-05 09:48:12

JSP學習經驗

2012-08-09 09:11:32

PHP超時

2017-11-13 16:35:36

iPhone X全面屏APP

2018-04-12 14:56:49

Android劉海屏技巧

2015-06-30 10:59:22

MobileWeb適配

2013-07-10 09:56:02

軟件定義網絡SDN

2024-07-26 10:35:00

2024-09-04 09:43:36

2013-05-22 09:49:36

2024-11-06 09:54:58

SpringJava開發

2024-08-29 10:23:42

2009-12-21 13:34:41

OSGi

2024-05-31 13:34:57

2010-03-09 14:30:45

Linux全部硬件信息

2018-07-26 15:16:50

小程序iPhone X甜酸
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲免费在线 | 成人午夜免费网站 | 国产美女久久久 | 亚洲精品乱码8久久久久久日本 | 久婷婷| 综合国产 | 特a毛片| 精品视频一区二区三区四区 | 午夜一级做a爰片久久毛片 精品综合 | 日韩中文字幕 | 女同久久| 欧美在线日韩 | 国产区在线 | 日本高清不卡视频 | 日韩成人av在线 | 国产精品成人久久久久 | 在线观看视频一区 | 人人干人人艹 | 色网在线观看 | 毛片99| 美女一级毛片 | 久久久久99 | 亚洲精品在线视频 | 一区二区三区四区在线视频 | 日韩电影在线一区 | 久久久久久综合 | 欧美日韩国产欧美 | 国产精品视频网 | 国产精品久久久久久久久久免费看 | 日韩福利在线观看 | 国产午夜高清 | 亚洲第一区久久 | 免费成人国产 | 亚洲欧美激情四射 | 久久久久久久综合色一本 | 国产精品免费观看 | 亚洲电影在线播放 | 欧美成人免费电影 | 国产精品色婷婷久久58 | 国产一区二区三区在线看 | 亚洲成人播放器 |