Android分辨率处理方案
2012-06-05 14:43
218 查看
像素(Pixel = picture element):
“像素”(Pixel)是由
Picture(图像)
和 Element(元素)这两个单词的字母所组成的,是用来计算数码影像的一种单位,如同摄影的相片一样,数码影像也具有连续性的浓淡阶调,我们若把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成,这些小方点就是构成影像的最小单位“像素”(Pixel)。这种最小的图形的单元能在屏幕上显示通常是单个的染色点。越高位的像素,其拥有的色板也就越丰富,越能表达颜色的真实感。
点有时用来表示像素,特别是计算机市场营销人员,因此ppi有时缩写为DPI(dots per inch)。用来表示一幅图像的像素越多,结果更接近原始的图像。一幅图像中的像素个数有时被称为图像解析度,虽然解析度有一个更为特定的定义。
像素可以用一个数表示,譬如一个"0.3兆像素"
数码相机,它有额定三十万像素,或者用一对数字表示,例如“640乘480显示器”,它有横向640像素和纵向480像素(就像VGA显示器那样),因此其总数为640
× 480 = 307,200像素。数字化图像的彩色采样点(例如网页中常用的JPG文件)也称为像素。取决于计算机显示器,这些可能不是和屏幕像素有一一对应的。在这种区别很明显的区域,图像文件中的点更接近纹理元素。在计算机编程中,像素组成的图像叫位图或者光栅图像。
密度(Density):
度量像素往往使用PPI(每英寸像素)或者DPI(每英寸点阵),当英寸数量是固定的情况下,往往使用密度来度量像素的排列控件,密度越高像素在一英寸的中的密集度就越高。
密度较低的屏幕,在长和宽方向都只有比较少的像素,而高密度的屏幕通常则会有很多——甚至会非常非常多——像素排列在同一区域。屏幕的密度是非常重要的,举个例子,长宽以像素为单位定义的界面元素(比如一个按钮),在低密度的屏幕上会显得很大,但在高密度的屏幕上则会显得很小。
Android常用像素与密度定义:
例如:QVGA的标准像素为240px(横向)×320px(纵向)一般使用2.6-3.0英寸的屏幕
这个度量单位是指:以屏幕的对角线长度作为依据的长度。这样就可以知道实际的像素密度:平均每英寸包含120个像素。
Android常用单位:
密度无关的像素(DIP)
指一个抽象意义上的像素,程序用它来定义界面元素。它作为一个与实际密度无关的单位,帮助程序员构建一个布局方案(界面元素的宽度,高度,位置)。
一个与密度无关的像素,在逻辑尺寸上,与一个位于像素密度为160DPI的屏幕上的像素是一致的,这也是Android平台所假定的默认显示设备。在运行的时候,平台会以目标屏幕的密度作为基准,“透明地”处理所有需要的DIP缩放操作。要把密度无关像素转换为屏幕像素,可以用这样一个简单的公式:pixels
= dips * (density / 160)。举个例子,在DPI为240的屏幕上,1个DIP等于1.5个物理像素。我们强烈推荐你用DIP来定义你程序的界面布局,因为这样可以保证你的UI在各种分辨率的屏幕上都可以正常显示。
从理论上看,Android解决方案适合任何像素密度。为方便起见,Google制定出一些主
要计数单位:规定1ldpi=120dpi,1mdpi=160 dpi,1hdpi=240 dpi,1xhdpi=320 dpi。为推动这一方案,Google力劝软件人员为不同DPI显示屏提供资源,确保其应用在任一款设备上看起来更漂亮。
因此我们强烈建议大家在布局控件时,使用DP(DIP)为单位,它能保证组件在不同分辨率中合理显示。
刻度像素(SP=Scaled Pixel):
将尺寸定义成该单位,字体会随着用户字体设置的改变而改变。
Google建议为不同的分辨率设置不同的图像资源和布局文件。
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
“像素”(Pixel)是由
Picture(图像)
和 Element(元素)这两个单词的字母所组成的,是用来计算数码影像的一种单位,如同摄影的相片一样,数码影像也具有连续性的浓淡阶调,我们若把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成,这些小方点就是构成影像的最小单位“像素”(Pixel)。这种最小的图形的单元能在屏幕上显示通常是单个的染色点。越高位的像素,其拥有的色板也就越丰富,越能表达颜色的真实感。
点有时用来表示像素,特别是计算机市场营销人员,因此ppi有时缩写为DPI(dots per inch)。用来表示一幅图像的像素越多,结果更接近原始的图像。一幅图像中的像素个数有时被称为图像解析度,虽然解析度有一个更为特定的定义。
像素可以用一个数表示,譬如一个"0.3兆像素"
数码相机,它有额定三十万像素,或者用一对数字表示,例如“640乘480显示器”,它有横向640像素和纵向480像素(就像VGA显示器那样),因此其总数为640
× 480 = 307,200像素。数字化图像的彩色采样点(例如网页中常用的JPG文件)也称为像素。取决于计算机显示器,这些可能不是和屏幕像素有一一对应的。在这种区别很明显的区域,图像文件中的点更接近纹理元素。在计算机编程中,像素组成的图像叫位图或者光栅图像。
密度(Density):
度量像素往往使用PPI(每英寸像素)或者DPI(每英寸点阵),当英寸数量是固定的情况下,往往使用密度来度量像素的排列控件,密度越高像素在一英寸的中的密集度就越高。
密度较低的屏幕,在长和宽方向都只有比较少的像素,而高密度的屏幕通常则会有很多——甚至会非常非常多——像素排列在同一区域。屏幕的密度是非常重要的,举个例子,长宽以像素为单位定义的界面元素(比如一个按钮),在低密度的屏幕上会显得很大,但在高密度的屏幕上则会显得很小。
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寸 |
例如:QVGA的标准像素为240px(横向)×320px(纵向)一般使用2.6-3.0英寸的屏幕
这个度量单位是指:以屏幕的对角线长度作为依据的长度。这样就可以知道实际的像素密度:平均每英寸包含120个像素。
Android常用单位:
密度无关的像素(DIP)
指一个抽象意义上的像素,程序用它来定义界面元素。它作为一个与实际密度无关的单位,帮助程序员构建一个布局方案(界面元素的宽度,高度,位置)。
一个与密度无关的像素,在逻辑尺寸上,与一个位于像素密度为160DPI的屏幕上的像素是一致的,这也是Android平台所假定的默认显示设备。在运行的时候,平台会以目标屏幕的密度作为基准,“透明地”处理所有需要的DIP缩放操作。要把密度无关像素转换为屏幕像素,可以用这样一个简单的公式:pixels
= dips * (density / 160)。举个例子,在DPI为240的屏幕上,1个DIP等于1.5个物理像素。我们强烈推荐你用DIP来定义你程序的界面布局,因为这样可以保证你的UI在各种分辨率的屏幕上都可以正常显示。
从理论上看,Android解决方案适合任何像素密度。为方便起见,Google制定出一些主
要计数单位:规定1ldpi=120dpi,1mdpi=160 dpi,1hdpi=240 dpi,1xhdpi=320 dpi。为推动这一方案,Google力劝软件人员为不同DPI显示屏提供资源,确保其应用在任一款设备上看起来更漂亮。
因此我们强烈建议大家在布局控件时,使用DP(DIP)为单位,它能保证组件在不同分辨率中合理显示。
刻度像素(SP=Scaled Pixel):
将尺寸定义成该单位,字体会随着用户字体设置的改变而改变。
Google建议为不同的分辨率设置不同的图像资源和布局文件。
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
相关文章推荐
- 智能电视TV分辨率处理方案--第1问
- Android键盘面板冲突 布局闪动处理方案
- Android仿微博@好友,#话题#及links处理方案
- Android键盘面板冲突 布局闪动处理方案
- Android中处理Touch Icon的方案
- (4.1.2.5)Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
- android多分辨率多屏幕密度下UI适配方案
- Android 客户端登陆超时退出处理方案
- Android表情的处理方案记录
- Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
- Android的一些方案处理
- Android 虚拟按键栏的处理方案
- AndroidTV/机顶盒 ListView获取焦点与点击事件问题处理方案
- Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
- android.os.NetworkOnMainThreadException处理方案
- Android键盘面板冲突 布局闪动处理方案
- android多分辨率多密度下界面适配方案
- Android 万能适配方案和UI屏幕适配 不同分辨率 最全面 最易懂的
- android多分辨率多屏幕密度下UI适配方案
- Android按键添加和处理的方案