編輯:關於Android編程
android設備運行在各種不同的屏幕中,這些屏幕有著不同的screen sizes(屏幕大小)和screen densities(屏幕密度)。screen sizes表示屏幕的實際物理大小,比如5寸手機,7寸平板,8寸平板。而screen densities表示屏幕的像素密度,比如同樣5寸的手機,有720p的,有1080p的。screen sizes和screen densities從兩個維度表示了屏幕的屬性,他們互不影響。
屏幕的真實物理尺寸,以屏幕的對角線測量,一般以inch(寸)為單位,比如5寸手機,7寸平板。如下圖所示:
根據不同的屏幕大小,可以把屏幕大小分為下面幾種類型:
<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KCnNtYWxsbm9ybWFsbGFyZ2V4bGFyZ2UKPGltZyBzcmM9"/uploadfile/Collfiles/20140522/2014052209133874.jpg" alt="\">
這種分類方式是以第一部android手機G1為基准劃分的,G1屬於normal分類。隨著android手機屏幕的尺寸大小越來越豐富,這種分類方式就顯得簡單粗暴,無法滿足分類的精確度(比如5寸手機和7寸平板同屬於large分類)。所以在android3.2以後就沒有使用這種分類方式了,新的分類方式通過可用屏幕寬度來定義,在工程的資源文件中(如layout)使用,下面是一些例子:
layout-sw600dplayout-sw720dp
values-sw340dp
這些分類的定義在後面會詳細講解,現在大家先有個概念。
px就是大家經常說的像素(pixel),像素是圖像顯示的基本單位,pixel由picture和element兩個單詞組合而成,有圖像元素的意思,每個這樣的信息元素是一個抽象的采樣,經常以一個點或者方塊表示。
比如nexus5手機,分辨率為1920 x 1080,屏幕大小為4.95寸,那麼ppi的計算如下:
那屏幕的dpi如何計算了,如果是按照定義的話,公式跟ppi的計算公式是一樣的,只需把像素數換成dot的數量,但是我們並不知道dot的數量是多少。不過,我們可以通過程序獲取設備的dpi值,代碼如下:
DisplayMetrics dm = getResources().getDisplayMetrics(); int dpi = dm.densityDpi;通過上面代碼獲得的dpi=480,也就是說dpi不等於ppi,如果一個pixel用一個dot顯示,按道理是應該相等的,但為什麼會不等呢?這個我也還沒搞清楚。不管怎樣,要獲取屏幕的dpi,不能用計算ppi的公式去計算獲得,要從代碼中去獲取。
上一篇文章中我們講解了如何在android studio中進行單元測試。實際開發過程中有一些功能性的需求,比如測試工具類,測試數據存儲等測試工作,如果還是通過重復執行ap
第1節 概述主題theme與風格style是兩個很相近的概念,經常把它們混亂著稱呼。它們都定義在xml文件中,都使用標簽。主題與風格是包含與被包含的關系。例如同一個主題中
JSON解析和XML解析是較為普遍的兩種解析方式,其中JSON解析的市場分額更大。本文系統的分析兩種解析方式的區別,為更好地處理數據作准備。由於目前階段主要是做移動開發,
運行效果C#實現using Android.App;using Android.OS;using Android.Widget;namespace ImageDemo{