android多解析度支援

2021-05-25 02:49:19 字數 2295 閱讀 2867

螢幕尺寸

螢幕的物理尺寸,以螢幕的對角線長度作為依據(比如 2.8寸, 3.5寸)。

簡而言之, android把所有的螢幕尺寸簡化為三大類:大,正常,和小。

程式可以針對這三種尺寸的螢幕提供三種不同的布局方案,然後系統會負責把你的布局方案以合適的方式渲染到對應的螢幕上,這個過程是不需要程式設計師用**來干預的。

螢幕長寬比

螢幕的物理長度與物理寬度的比例。程式可以為制定長寬比的螢幕提供制定的素材,只需要用系統提供的資源分類符 long和 notlong。

解析度螢幕上擁有的畫素的總數。注意,雖然大部分情況下解析度都被表示為「寬度×長度」,但解析度並不意味著螢幕長寬比。在 android系統中,程式一般並不直接處理解析度。 密度

以螢幕解析度為基礎,沿螢幕長寬方向排列的畫素。

密 度較低的螢幕,在長和寬方向都只有比較少的畫素,而高密度的螢幕通常則會有很多——甚至會非常非常多——畫素排列在同一區域。螢幕的密度是非常重要的,舉 個例子,長寬以畫素為單位定義的介面元素(比如乙個按鈕),在低密度的螢幕上會顯得很大,但在高密度的螢幕上則會顯得很小。

密度無關的畫素( dip)

指乙個抽象意義上的畫素,程式用它來定義介面元素。它作為乙個與實際密度無關的單位,幫助程式設計師構建乙個布局方案(介面元素的寬度,高度,位置)。

乙個與密度無關的畫素,在邏輯尺寸上,與乙個位於畫素密度為 160dpi的螢幕上的畫素是一致的,這也是 android平台所假定的預設顯示裝置。在執行的時候,平台會以目標螢幕的密度作為基準,「透明地」處理所有需要的 dip縮放操作。要把密度無關畫素轉換為螢幕畫素,可以用這樣乙個簡單的公式: pixels = dips * (density / 160)。舉個例子,在 dpi為 240的螢幕上, 1個 dip等於 1.5個物理畫素。我們強烈推薦你用 dip來定義你程式的介面布局,因為這樣可以保證你的 ui在各種解析度的螢幕上都可以正常顯示。

支援的螢幕解析度範圍

1.5及更早版本的 android系統,在設計的時候假定系統只會執行在一種解析度的裝置上—— hvga( 320× 480)解析度,尺寸為 3.2寸。由於系統只能工作在一種螢幕上,開發人員就可以針對那個螢幕來編寫自己的程式,而無需去考慮程式在其他螢幕上的顯示問題。

但自從 android 1.6以來,系統引入了對多種尺寸、多種解析度螢幕的支援,以此滿足擁有各種配置的新平台的執行需求。這就意味著開發人員在針對 android 1.6或更新版系統開發程式的時候,需要為自己的程式在多種解析度的螢幕上良好顯示作出額外的設計。

為了簡化程式設計師面在對各種解析度時的困擾,也為了具備各種解析度的平台都可以直接執行這些程式, android平台將所有的螢幕以密度和解析度為分類方式,各自分成了三類:

·三種主要的尺寸:大,正常,小;

·三種不同的密度:高( hdpi),中( mdpi)和低( ldpi)。

如 果需要的話,程式可以為各種尺寸的螢幕提供不同的資源(主要是布局),也可以為各種密度的螢幕提供不同的資源(主要是點陣圖)。除此以外,程式不需要針對屏 幕的尺寸或者密度作出任何額外的處理。在執行的時候,平台會根據螢幕本身的尺寸與密度特性,自動載入對應的資源,並把它們從邏輯畫素( dip,用於定義介面布局)轉換成螢幕上的物理畫素。

下表列出了 android平台支援的螢幕中一些比較常用的型號,並顯示了系統是如何把它們分類到不同的螢幕配置裡的。有些螢幕解析度並不在下面的列表上,但系統仍會把它們歸入下列的某乙個型別中。

低密度( 120), ldpi

中密度( 160), mdpi

高密度( 240), hdpi

小 螢幕

· qvga( 240× 320), 2.6~ 3.0寸 普通

螢幕 · wqvga( 240× 400), 3.2~ 3.5寸

· fwqvga( 240× 432), 3.5~ 3.8寸

· hvga( 320× 480), 3.0~ 3.5寸

· wvga( 480× 800), 3.3~ 4.0寸

· fwvga( 480× 854), 3.5~ 4.0寸 大

螢幕 · wvga( 480× 800), 4.8~ 5.5寸

· fwvga( 480× 854), 5.0~ 5.8寸

如上表所示,所有解析度的螢幕,都圍繞在基準螢幕 周圍,而基準螢幕在分類中,為「正常」尺寸,與「中」密度。之所以用 hvga螢幕作為基準螢幕,是因為所有針對 android 1.5或更早的程式都是針對這片螢幕所寫的(因為只支援這一片),比如 t-mobile g1。

雖然系統支援上面 9種不同配置的螢幕,但你並不一定需要為它們都提供各自不同的資源。系統已經提供了足夠魯棒(就是在各種惡劣環境下正常工作,對環境變化不敏感)的相容特性,用於在各種不同的螢幕上良好顯示你的程式。

Android解析度常識 多解析度適配

螢幕大小 以螢幕對角線的物理長度來衡量螢幕的大小 解析度 螢幕中所有物理畫素點數。如1920x1080,就表示寬方向有1920個畫素,高方向有1080個畫素,整個螢幕有2073600個畫素。螢幕密度 dpi dots per inch 即畫素密度,每英吋面積上存在多少個畫素。160dpi表示單位面積...

android多解析度適配

前一階段開發android專案,由於客戶要求進行多解析度適配,能夠支援國內主流的解析度手機。因此經過了幾次開發走了很多彎路,目前剛剛領略了android多解析度適配的一些方法。先介紹一下所走的彎路,由於android的布局檔案存放在res的layout中,可以根據不同的手機解析度指定特定的layou...

Android 多解析度適配

標籤 android 適配多解析度 布局檔案 layout 2014 05 28 15 18 9946人閱讀收藏 舉報 android 3 前一階段開發android專案,由於客戶要求進行多解析度適配,能夠支援國內主流的解析度手機。因此經過了幾次開發走了很多彎路,目前剛剛領略了android多解析度...