編輯:關於Android編程
WQVGA:Wide Quarter VGA;即:擴大的QVGA,分辨率比QVGA高,比VGA低,一般是:400×240,480×272;
以下列出了常見的分辨率類型。
QVGA = 320 * 240; WQVGA = 320 * 480; WQVGA2 = 400 * 240; WQVGA3 = 432 * 240; HVGA = 480 * 320; VGA = 640 * 480; WVGA = 800 * 480; WVGA2 = 768 * 480; FWVGA = 854 * 480; DVGA = 960 * 640; PAL = 576 * 520; NTSC = 486 * 440; SVGA = 800 * 600; WSVGA = 1024 * 576;
XGA = 1024 * 768; XGAPLUS = 1152 * 864; HD720 = 1280 * 720; WXGA = 1280 * 768; WXGA2 = 1280 * 800; WXGA3 = 1280 * 854; SXGA = 1280 * 1024; WXGA4 = 1366 * 768; SXGAMINUS = 1280 * 960; SXGAPLUS = 1400 * 1050; WXGAPLUS = 1440 * 900; HD900 = 1600 * 900; WSXGA
= 1600 * 1024; WSXGAPLUS = 1680 * 1050; UXGA = 1600 * 1200; HD1080 = 1920 * 1080; QWXGA = 2048 * 1152; WUXGA = 1920 * 1200; TXGA = 1920 * 1400; QXGA = 2048 * 1536; WQHD = 2560 * 1440; WQXGA = 2560 * 1600; QSXGA = 2560 * 2048; QSXGAPLUS = 2800 * 2100; WQSXGA
= 3200 * 2048; QUXGA = 3200 * 2400; QFHD = 3840 * 2160; WQUXGA = 3840 * 2400; HD4K = 4096 * 2304; HXGA = 4096 * 3072; WHXGA = 5120 * 3200; HSXGA = 5120 * 4096; WHSXGA = 6400 * 4096; HUXGA = 6400 * 4800; SHV = 7680 * 4320; WHUXGA = 7680 * 4800;
px:(pixels)(像素):屏幕上的點,表示屏幕實際的象素,與密度相關。密度大了,單位面積上的px會比較多。例如,320*480的屏幕在橫向有320個象素,在縱向有480個象素。
dip或dp(與密度無關的像素)。這個和設備硬件有關,為了支持WVGA、HVGA和QVGA 5進制空間推薦使用這個。一種基於屏幕密度的抽象單位。設置一些view的寬高可以用這個,一般情況下,在不同分辨率,都不會有縮放的感覺。
px與dip的換算公式:
px = (density/160)*dip density一般為3個常用固定值240/160/120
scaledDensity (字體縮放比例)。即 單位 sp 的 換算值。 一般用在設定字體大小中
sp放大像素– 主要處理字體的大小。dp是與密度無關,sp除了與密度無關外,還與scale無關。
sp與px的換算公式:
DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); pixelSize = (int)scaledPixelSize * dm.scaledDensity;in:表示英寸,是屏幕的物理尺寸。每英寸等於2.54厘米。例如,形容手機屏幕大小,經常說,3.2(英)寸、3.5(英)寸、4(英)寸就是指這個單位。這些尺寸是屏幕的對角線長度。如果手機的屏幕是3.2英寸,表示手機的屏幕(可視區域)對角線長度是3.2*2.54 = 8.128厘米
2、一些參數
常見手機屏幕分辯率(希望大家可以補充)
小米3
density=3.0, width=1080, height=1920, scaledDensity=3.0, xdpi=449.704, ydpi=447.412
小米2
density=2.0, width=720, height=1280, scaledDensity=2.0, xdpi=345.0566, ydpi=342.23157
魅族3
density=2.5, width=1080, height=1800, scaledDensity=2.5, xdpi=415.636, ydpi=415.636
三星s3
density=2.0, width=720, height=1280, scaledDensity=2.0, xdpi=304.8, ydpi=306.716
Motorola Me525 Android2.2.2
density=1.5, width=480, height=854, scaledDensity=1.5, xdpi=144.0, ydpi=144.0
屏幕大小和密度對照表
屏幕 寬度 高度 尺寸 大小 密度
Type (Pixels) (Pixels) Range (inches) Size Group
QVGA 240 320 2.6 - 3.0 Small Low
WQVGA 240 400 3.2 - 3.5 Normal Low
FWQVGA 240 432 3.5 - 3.8 Normal Low
HVGA 320 480 3.0 - 3.5 Normal Medium
WVGA 480 800 3.3 - 4.0 Normal High
FWVGA 480 854 3.5 - 4.0 Normal High
WVGA 480 800 4.8 - 5.5 Large Medium
FWVGA 480 854 5.0 - 5.8 Large Medium
3、一些有用的代碼
mport android.content.Context; import android.util.DisplayMetrics; /** * 計算公式 pixels = dips * (density / 160) * * @version 1.0.1 2010-12-11 * * @author */ public class DensityUtil { private static final String TAG = DensityUtil.class.getSimpleName(); // 當前屏幕的densityDpi private static float dmDensityDpi = 0.0f; private static DisplayMetrics dm; private static float scale = 0.0f; /** * * 根據構造函數獲得當前手機的屏幕系數 * * */ public DensityUtil(Context context) { // 獲取當前屏幕 dm = new DisplayMetrics(); dm = context.getApplicationContext().getResources().getDisplayMetrics(); // 設置DensityDpi setDmDensityDpi(dm.densityDpi); // 密度因子 scale = getDmDensityDpi() / 160; Logger.i(TAG, toString()); } /** * 當前屏幕的density因子 * * @param DmDensity * @retrun DmDensity Getter * */ public static float getDmDensityDpi() { return dmDensityDpi; } /** * 當前屏幕的density因子 * * @param DmDensity * @retrun DmDensity Setter * */ public static void setDmDensityDpi(float dmDensityDpi) { DensityUtil.dmDensityDpi = dmDensityDpi; } /** * 密度轉換像素 * */ public static int dip2px(float dipValue) { return (int) (dipValue * scale + 0.5f); } /** * 像素轉換密度 * */ public int px2dip(float pxValue) { return (int) (pxValue / scale + 0.5f); } @Override public String toString() { return " dmDensityDpi:" + dmDensityDpi; } }
先給大家展示效果圖:1.新建TestFragmen繼承Fragmentpublic class TestFragment extends Fragment { priv
android的L新版本中增加了“打擾”的新功能,相信很多同學搞不明白。找了一篇介紹勿擾模式很好的文章,可惜是英文的,現翻譯如下,相
本文實例講述了Android編程之頁面切換測試。分享給大家供大家參考。具體分析如下:一、軟件平台:win7 + eclipse + sdk二、設計思路:兩個頁面:mian
本文實例介紹的是Android的Tab控件,Tab控件可以達到分頁的效果,讓一個屏幕的內容盡量豐富,當然也會增加開發的復雜程度,在有必要的時候再使用。Android的Ta