精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android適配難題全面總結

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

支持多種屏幕

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

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

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

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

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

屏幕支持概覽

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

術語和概念

屏幕尺寸

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

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

屏幕密度

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

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

方向

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

分辨率

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

密度無關像素 (dp)

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

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

支持的屏幕范圍

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

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

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

注:從 Android 3.2(API 級別 13)開始,這些尺寸組 已棄用,而采用根據(jù)可用屏幕寬度管理屏幕尺寸的 新技術。如果為 Android 3.2 和更高版本開發(fā),請參閱聲明適用于 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,讓系統(tǒng)按需要處理任何最終調(diào)整。 圖 1 說明不同的尺寸和密度如何粗略歸類為不同的尺寸 和密度組。   

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

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

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

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

大屏幕至少為 640dp x 480dp

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

小屏幕至少為 426dp x 320dp

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

要針對不同的屏幕尺寸和密度優(yōu)化應用的 UI,可為任何通用的尺寸和密度提供 替代 資源。通常,應為某些不同的屏幕尺寸提供替代布局,為不同的屏幕密度提供替代位圖圖像。 在運行時,系統(tǒng)會根據(jù)當前設備屏幕的通用 尺寸或密度對應用使用適當?shù)馁Y源。

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

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

密度獨立性

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

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

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

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

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

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

Android 系統(tǒng)可幫助您的應用以兩種方式實現(xiàn)密度獨立性:

系統(tǒng)根據(jù)當前屏幕密度擴展 dp 單位數(shù)

系統(tǒng)在必要時可根據(jù)當前屏幕 密度將可繪制對象資源擴展到適當?shù)拇笮?/p>

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

大多數(shù)情況下,確保應用中的屏幕獨立性很簡單,只需以適當?shù)拿芏泉毩⑾袼?dp 單位)或 “wrap_content” 指定所有 布局尺寸值。系統(tǒng)然后根據(jù)適用于當前屏幕密度的縮放比例適當?shù)乜s放位圖可繪制對象,以 適當?shù)拇笮★@示。

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

如何支持多種屏幕

Android 支持多種屏幕的基礎是它能夠管理針對當前屏幕配置 以適當方式渲染應用的布局和位圖 可繪制對象。系統(tǒng)可處理大多數(shù)工作,通過適當?shù)? 縮放布局以適應屏幕尺寸/密度和根據(jù)屏幕密度縮放位圖可繪制對象 ,在每種屏幕配置中渲染您的應用。但是,為了更適當?shù)靥幚聿煌钠聊慌渲?,還應該:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

系統(tǒng)使用適當?shù)奶娲Y源

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

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

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

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

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

使用配置限定符

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

要使用配置限定符:

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

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

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

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

將適當?shù)呐渲锰囟ㄙY源保存在此新目錄下。這些資源 文件的名稱必須與默認資源文件完全一樣。

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

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

屏幕特性 限定符 說明

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 注:如果是為 Android 3.2 和 更高版本開發(fā)應用,請參閱有關聲明適用于 Android 3.2 的平板電腦布局的章節(jié),了解 在為特定屏幕尺寸聲明布局資源時應使用的 新配置限定符(而不是使用表 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 系統(tǒng)在運行時選擇使用哪些資源時,它會使用 特定邏輯確定“最佳匹配”資源。也就是說,您使用的限定符無 需在所有情況下精確匹配當前屏幕配置,系統(tǒng)也可 使用它們。特別是,根據(jù)屏幕尺寸限定符選擇資源時,如果沒有更好的匹配資源,則系統(tǒng)將 使用專為小于當前屏幕的屏幕而設計的 資源(例如,如有必要,大尺寸屏幕將使用標準尺寸的屏幕 資源)。但是,如果唯一可用的資源大于當前屏幕, 則系統(tǒng)不會使用這些資源,并且如果沒有其他資源與設備 配置匹配,應用將會崩潰(例如,如果所有布局資源均用 xlarge 限定符標記, 但設備是標準尺寸的屏幕)。

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

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

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

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

替代布局

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

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

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

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

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

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

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

已針對大屏幕優(yōu)化,可以利用其他屏幕空間

已同時針對橫屏和豎屏方向優(yōu)化

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

替代可繪制對象

 

 

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

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

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

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

要為不同的密度創(chuàng)建替代位圖可繪制對象,應遵循六種通用密度之間的 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) 用于超超超高密度(僅限啟動器圖標;請參閱上面的 注)

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

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

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

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

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

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

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

使用新尺寸限定符

因為微信字數(shù)限制,請點擊左下角原文鏈接閱讀完整內(nèi)容。

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

2009-11-05 15:58:37

無線接入點

2015-08-31 15:07:12

VDSLFTTH寬帶

2009-09-25 10:03:51

Java泛型

2012-08-09 09:11:32

PHP超時

2009-09-16 11:19:48

Linq Select

2009-08-05 09:48:12

JSP學習經(jīng)驗

2017-11-13 16:35:36

iPhone X全面屏APP

2015-06-30 10:59:22

MobileWeb適配

2018-04-12 14:56:49

Android劉海屏技巧

2013-05-22 09:49:36

2024-07-26 10:35:00

2024-09-04 09:43:36

2013-07-10 09:56:02

軟件定義網(wǎng)絡SDN

2024-08-29 10:23:42

2024-11-06 09:54:58

SpringJava開發(fā)

2010-03-09 14:30:45

Linux全部硬件信息

2009-12-21 13:34:41

OSGi

2024-05-31 13:34:57

2018-07-26 15:16:50

小程序iPhone X甜酸
點贊
收藏

51CTO技術棧公眾號

天堂在线免费观看视频| 国产老头和老头xxxx×| 国产黄在线观看| 日本美女一区二区三区视频| 亚洲人成网在线播放| 男人搞女人网站| 成人日批视频| 91丨porny丨户外露出| 国产精品免费久久久久久| 手机免费观看av| 动漫av一区| 欧美三级xxx| 樱花www成人免费视频| 欧美性猛交 xxxx| 日韩电影一区二区三区| 久操成人在线视频| 欧美黄色高清视频| 国产精品对白久久久久粗| 欧美图片一区二区三区| 国产免费一区二区视频| 成在在线免费视频| 成人动漫精品一区二区| 国产欧美va欧美va香蕉在| 日本五十熟hd丰满| 性xxxx欧美老肥妇牲乱| 亚洲欧美国产精品va在线观看| 亚洲涩涩在线观看| 一二三四视频在线中文| 亚洲欧美自拍偷拍色图| 精品国产乱码久久久久久108| 91女人18毛片水多国产| 亚洲女优在线| 久久全国免费视频| 蜜臀久久精品久久久用户群体| 国产aⅴ精品一区二区三区久久| 91麻豆精品久久久久蜜臀| 男人插女人视频在线观看| 91xxx在线观看| 97se亚洲国产综合自在线不卡| 91美女片黄在线观看游戏| 啪啪小视频网站| 老司机一区二区三区| 欧美精品在线看| 免费黄色激情视频| 日韩欧美一区二区三区免费看| 亚洲欧美国产另类| 强伦人妻一区二区三区| 国产精品男女| 亚洲国产日韩一区| 国产一线在线观看| 一区二区三区四区精品视频| 日韩欧美一级二级三级 | 一本一道久久综合狠狠老精东影业| 日韩欧美一区免费| 欧美一区国产二区| 色www免费视频| 免费观看成人性生生活片| 午夜电影久久久| 成年人午夜视频在线观看| 男女免费观看在线爽爽爽视频| 中文字幕在线一区| 亚洲综合网中心| 美女免费久久| 国产亚洲精品bt天堂精选| 欧洲亚洲一区| 91视频在线观看| 国产精品久久毛片| 日本不卡一区二区三区四区| 免费av在线| 亚洲欧美福利一区二区| av动漫在线免费观看| 2024最新电影免费在线观看| 亚洲欧美日韩在线| 女人帮男人橹视频播放| 国产精品yjizz视频网| 亚洲综合丁香婷婷六月香| 日韩欧美精品免费| 国产调教在线| 91久久精品一区二区| 精品久久久久久中文字幕2017| 成人全视频免费观看在线看| 欧美日韩小视频| 五月天国产视频| 看全色黄大色大片免费久久久| 亚洲精品第一页| 亚洲一区二区三区日韩| 国产精品videosex性欧美| 大量国产精品视频| 日韩精品视频免费看| 久久午夜激情| 成人免费自拍视频| 农村少妇久久久久久久| 久久久午夜精品| 欧美日韩免费观看一区| 免费黄色在线观看| 亚洲成人综合视频| 亚欧在线免费观看| 亚洲午夜免费| 国产一区二区三区在线免费观看| 久艹在线观看视频| 在线视频亚洲| 国产精品在线看| 少妇高潮久久久| 国产精品久久久久久久久果冻传媒| 在线国产精品网| 男人久久天堂| 欧美曰成人黄网| 国产精品一区二区在线免费观看| 国产一区不卡| 久久久久久12| 亚洲一级视频在线观看| 不卡的看片网站| 亚洲欧美综合一区| 在线观看网站免费入口在线观看国内| 欧美精品日韩一区| 无码熟妇人妻av| 欧美午夜精品| 国产日韩欧美在线看| 天堂中文网在线| 亚洲摸摸操操av| 麻豆av免费在线| 北条麻妃一区二区三区在线观看| 宅男66日本亚洲欧美视频| 国产无遮挡又黄又爽又色| 美日韩一级片在线观看| 麻豆av一区二区三区| 污视频网站免费在线观看| 欧美性色黄大片手机版| 中文人妻一区二区三区| 欧美性久久久| 91欧美精品成人综合在线观看| 男人的天堂在线视频| 亚洲高清不卡在线| 中文字幕乱码在线人视频| 日韩欧美高清在线播放| 国产成人综合av| 深夜福利在线观看直播| 亚洲成av人综合在线观看| 手机av在线网站| 欧美国产一级| 国产免费一区视频观看免费| 成年人视频在线免费观看| 欧美三级免费观看| 精品无码一区二区三区| 校园春色综合网| 久热国产精品视频一区二区三区| 成人三级小说| 亚洲变态欧美另类捆绑| 久久久久久久久久一区二区三区| 国产最新精品精品你懂的| 亚洲精品一品区二品区三品区| av亚洲一区二区三区| 亚洲欧洲高清在线| 中文字幕av第一页| 日本一区二区三区久久久久久久久不 | 国产精品久久久久久久久免费桃花 | 亚洲一区二区三区四区av| 欧美日韩91| 大波视频国产精品久久| √8天堂资源地址中文在线| 亚洲成人网在线| 国产成人无码精品亚洲| 99久久久久久| 日韩一级在线免费观看| 欧美精品尤物在线观看| 国产欧美日韩精品丝袜高跟鞋| av基地在线| 欧美一区二区三区在线视频| 欧美成人精品激情在线视频| 韩国精品一区二区| 桥本有菜av在线| 风间由美性色一区二区三区四区 | 国产精彩视频在线观看| 成人短视频下载| 18禁免费无码无遮挡不卡网站| 国产成人黄色| 成人国产精品免费视频| 黄色在线观看视频网站| 精品一区二区三区四区| 在线视频精品免费| 亚洲精选视频在线| 亚洲中文字幕一区| 日本午夜一本久久久综合| 91制片厂免费观看| 美腿丝袜亚洲图片| 国产精品你懂得| 少女频道在线观看高清| 亚洲女人天堂色在线7777| 在线观看国产精品视频| 一区二区三区**美女毛片| 亚洲最大的黄色网| 卡一卡二国产精品 | 日韩精品中午字幕| 欧美一级片免费在线观看| 国产精品日韩精品欧美在线| 中国特级黄色片| 久久先锋资源| 成人在线免费高清视频| 伊人久久大香线蕉综合网站| 成人情趣片在线观看免费| 日本乱码一区二区三区不卡| 视频一区视频二区国产精品 | 国产河南妇女毛片精品久久久| 欧美激情 国产精品| 日韩精品一区二区三区免费观影 | 97av在线播放| 国产一二区在线| 亚洲欧美综合v| 欧美熟女一区二区| 这里只有精品免费| 啪啪小视频网站| 精品久久久久久中文字幕大豆网| 少妇高潮惨叫久久久久| 91美女蜜桃在线| 免费在线观看日韩av| 免费的成人av| 国产成人精品视频免费看| 午夜欧美精品久久久久久久| 视频一区国产精品| 午夜精品影视国产一区在线麻豆| 97超级碰碰| 999精品视频在线观看| 热久久99这里有精品| 黄色成人在线网| 久久偷看各类女兵18女厕嘘嘘| 精品无吗乱吗av国产爱色| 精品人在线二区三区| 国产又粗又大又爽视频| 色www精品视频在线观看| 日本污视频在线观看| 亚洲精品国产a| 国产黄色的视频| 中文字幕一区在线| 国产视频不卡在线| 国产日韩成人精品| 国产真实乱人偷精品人妻| 97精品国产97久久久久久久久久久久| 欧美一区二区三区影院| 精品亚洲porn| 色一情一区二区三区| 喷白浆一区二区| 日本在线观看免费视频| 日本在线不卡视频| 欧美精品无码一区二区三区| 视频一区二区国产| 草草草在线视频| 老牛嫩草一区二区三区日本| 国产麻花豆剧传媒精品mv在线| 国产一区二区你懂的| 成人毛片一区二区| 91久久午夜| 日韩在线视频在线观看| 国产日韩1区| 久久国产成人精品国产成人亚洲| 中文亚洲字幕| 欧美 日韩精品| 日韩精品色哟哟| 三级在线视频观看| 国内不卡的二区三区中文字幕| 亚洲一二区在线观看| 韩国欧美一区二区| 中文字幕在线国产| 波多野结衣中文一区| 久久亚洲AV成人无码国产野外| 久久伊人中文字幕| 人人妻人人澡人人爽| 国产精品美女一区二区| 日韩精品123区| 亚洲自拍偷拍图区| 中文字幕精品三级久久久| 欧日韩精品视频| 国产日韩一级片| 亚洲国产精品一区二区久| 久草在线免费福利资源| 尤物yw午夜国产精品视频| 精品视频在线一区二区| 欧美激情亚洲一区| 日韩伦理三区| 91久久久久久久久久| 国产欧美自拍一区| 日日夜夜精品网站| 欧美日韩成人| 日本黄色三级大片| 国产在线国偷精品免费看| 亚洲无人区码一码二码三码| 久久人人超碰精品| av成人免费网站| 精品成人av一区| 亚洲无码精品在线播放| 欧美精品一区二区三区在线播放| 毛片在线播放网址| 欧美成人黑人xx视频免费观看| 黄色在线免费观看网站| 国产精自产拍久久久久久| 风间由美一区二区av101| 日韩少妇中文字幕| 尹人成人综合网| 日本在线一二三区| av不卡一区二区三区| a一级免费视频| 精品久久久久久国产| 国产精品人人妻人人爽| 日韩毛片在线观看| 3d玉蒲团在线观看| 国产精品免费久久久久久| 久久精品色播| 国产日韩视频在线播放| 美女视频一区免费观看| 自拍视频第一页| 国产精品福利电影一区二区三区四区 | 亚洲第一成肉网| 久久日一线二线三线suv| 日韩一区二区三区四区在线| 91久久精品一区二区三| 黄色小视频免费观看| 久久九九精品99国产精品| 性欧美gay| 久久波多野结衣| 欧美日韩一区自拍| 欧美视频国产视频| 欧美极品少妇xxxxⅹ高跟鞋| 成人免费区一区二区三区| 日韩一区二区三区观看| 1区2区3区在线观看| 欧美孕妇孕交黑巨大网站| xxxx日韩| 成人免费a级片| 国产精品自在在线| a一级免费视频| 欧美日韩视频一区二区| 国产在线超碰| 国产a∨精品一区二区三区不卡| 高清精品视频| 免费网站永久免费观看| 国产一区二区久久| 久久国产精品国语对白| 欧美日韩一区二区三区四区| 高清av电影在线观看| 欧美亚洲另类视频| 欧美综合精品| 日本一道本久久| caoporm超碰国产精品| 日本免费在线播放| 亚洲第一中文字幕| 17videosex性欧美| 黄色小网站91| 国产精品普通话对白| 国产精品伦子伦| 精品日韩美女的视频高清| 人妻妺妺窝人体色www聚色窝| 欧美贵妇videos办公室| 澳门成人av| 日日碰狠狠添天天爽超碰97| 91在线一区二区| 久久久久99精品成人片我成大片| 日韩精品视频免费专区在线播放 | 亚洲自拍偷拍区| 欧美国产专区| 国产人妻黑人一区二区三区| 亚洲福利视频导航| 亚洲人午夜射精精品日韩| 日本精品视频在线观看| 国产综合久久久| 视频在线观看免费高清| 自拍偷拍欧美激情| 亚洲精品国产精品国| 97人人模人人爽人人喊中文字| 日韩av影院| 激情 小说 亚洲 图片: 伦| 亚洲欧美一区二区视频| 亚洲国产一二三区| 2019中文字幕在线观看| 红桃成人av在线播放| 久久久久xxxx| 亚洲成人一区二区在线观看| 青青久在线视频免费观看| 国产精品入口福利| 欧美亚韩一区| 午夜在线观看一区| 欧美高清激情brazzers| 国内在线免费视频| 欧美在线3区| 国产在线播精品第三| 99精品视频99| 日韩中文在线不卡| 大陆精大陆国产国语精品| 熟女少妇精品一区二区| 亚洲精品免费在线观看| 亚洲人视频在线观看| 成人激情电影一区二区| 亚洲理论在线| 欧美h片在线观看| 日韩大片免费观看视频播放| 久久精品xxxxx| 免费 成 人 黄 色| 最新热久久免费视频| 天堂成人在线| 亚洲自拍偷拍第一页| 肉色丝袜一区二区| 国产在线拍揄自揄拍|