`
jessie_java
  • 浏览: 59893 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
社区版块
存档分类
最新评论

【转】Android -- 探究Android的多分辨率支持以及各种类型图标尺寸大小

 
阅读更多

术语和概念  
屏幕尺寸  
屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如  2.8寸,  3.5寸)。  
简而言之,  Android把所有的屏幕尺寸简化为三大类:大,正常,和小。  
程序可以针对这三种尺寸的屏幕提供三种不同的布局方案,然后系统会负责把你的布局方案以合适的方式渲染到对应的屏幕上,这个过程是不需要程序员用代码来干预的。  

屏幕长宽比  
屏幕的物理长度与物理宽度的比例。程序可以为制定长宽比的屏幕提供制定的素材,只需要用系统提供的资源分类符 long  notlong  

分辨率  
屏幕上拥有的像素的总数。注意,虽然大部分情况下分辨率都被表示为“宽度×长度”,但分辨率并不意味着屏幕长宽比。在  Android系统中,程序一般并不直接处理分辨率。  

密度  
以屏幕分辨率为基础,沿屏幕长宽方向排列的像素。  
密度较低的屏幕,在长和宽方向都只有比较少的像素,而高密度的屏幕通常则会有很多 ——甚至会非常非常多——像素排列在同一区域。屏幕的密度是非常重要的,举个例子,长宽以像素为单位定义的界面元素(比如一个按钮),在低密度的屏幕上会 显得很大,但在高密度的屏幕上则会显得很小。  

密度无关的像素(  DIP   
指一个抽象意义上的像素,程序用它来定义界面元素。它作为一个与实际密度无关的单位,帮助程序员构建一个布局方案(界面元素的宽度,高度,位置)。  
一个与密度无关的像素,在逻辑尺寸上,与一个位于像素密度为  160DPI的屏幕上的像素是一致的,这也是 Android平台所假定的默认显示设备。在运行的时候,平台会以目标屏幕的密度作为基准,“透明地”处理所有需要的 DIP缩放操作。要把密度无关像素转换为屏幕像素,可以用这样一个简单的公式:  pixels = dips * (density / 160)。举个例子,在  DPI  240的屏幕上,  1  DIP等于  1.5个物理像素。我们强烈推荐你用  DIP来定义你程序的界面布局,因为这样可以保证你的  UI在各种分辨率的屏幕上都可以正常显示。  

 

图表形式

术语

说明

备注

Screen size (屏幕尺寸)

指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸

摩托罗拉milestone手机是3.7英寸

Aspect Ratio( 宽高比率)

指的是实际的物理尺寸宽高比率,分为long和nolong

Milestone 是16:9,属于long

R esolution( 分辨率)

和电脑的分辨率概念一样,指手机屏幕纵、横方向像素个数

Milestone 是854*480

DPI( dot per inch)

每英寸像素数,如120 dpi,16 0 dpi 等,假设QVGA(320*240)分辨率的屏幕物理尺寸是(2英寸*1.5英寸),dpi=160

可以反映屏幕的清晰度,用于缩放UI的

Density( 密度)

屏幕里像素值浓度,resolution/Screen size可以反映出手机密度

 

Density-independent pixel (dip)

指的是逻辑密度计算单位,dip和具体像素值的对应公式是dip/pixel=dpi值/160

 



AndroidManifest.xml中指定图标,名字不一定非叫icon
<application android:icon="@drawable/icon" android:label="@string/app_name">
2.0以后有三种尺寸,分别为36*36/48*48/72*72
你会看到drawable-hdpi/drawable-ldpi/drawable-mdpi不同的目录用来存储不同尺寸的图标 在AndroidManifest.xml中只需要写@drawable/icon就可以,它会根据屏幕分辨率去找不同目录下的图标

hdpi里面主要放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
mdpi里面主要放中等分辨率的图片,如HVGA (320x480)
ldpi里面主要放低分辨率的图片,如QVGA (240x320)

 

类型          hdpi                 mdpi                ldpi
ICON         72*72         48*48               36*36
Notification图标 48*48 32*32 24*24
标签Tab图标 48*48 32*32 24*24

 

 

九宫图 9 patch

http://www.cnblogs.com/slider/archive/2011/12/07/2279302.html

http://blog.sina.com.cn/s/blog_7501670601010mfl.html

 

 

分享到:
评论

相关推荐

    探究Android的多分辨率支持以及各种类型图标尺寸大小.doc

    总之,Android的多分辨率支持和图标尺寸大小管理是其跨设备兼容性的重要组成部分。开发者需了解这些概念,以便创建能在各种Android设备上无缝运行的应用程序。通过正确使用DIP、适应性布局和密度特定的资源,可以...

    android-support-v4-v7-v13-v14-v17(官方最新完整版)

    android-support-v4-v7-v13-v14-v17(官方最新完整版),官方最新版的,压缩包内包含android-support-v4、android-support-v7-appcompat,android-support-v7-cardview,android-support-v7-gridlayout,android-support-...

    android-sdk\platforms\android-21

    在Android开发领域,`android-21`是一个重要的版本,代表了Android操作系统的API级别21,也称为Android Lollipop(5.0)。这个版本带来了许多显著的变化和更新,为开发者提供了新的特性和功能。下面将详细介绍`...

    Android--多分辨率使用dimens转换工具

    第三步:开始写布局文件,写的时候如果有要设置大小,则不要直接写成如:android:layout_width:"20dp"的形式,应该写成:android:layout_width:"@dimen/DIG_20PX",注意这里如果是设置背景图片,则大小是图片的大小...

    Android-选择分辨率并自动生成对应的dimen.xml文件

    `dimen.xml`文件是Android资源目录中的一个关键组件,用于存储各种尺寸相关的常量,如按钮宽度、间距、字体大小等。通过在不同的`values`目录下创建针对不同屏幕尺寸和密度的`dimen.xml`文件,开发者可以为不同设备...

    android-sdk-4.2.2 android-sdk-4.2.2-platforms

    标题中的"android-sdk-4.2.2 android-sdk-4.2.2-platforms"指的是Android SDK的一个特定版本,即Android 4.2.2(API级别17),该版本的SDK平台组件。这个版本是Android操作系统的 Jelly Bean 版本的一部分,发布于...

    Android-获取手机屏幕大小屏幕分辨率屏幕密度导航栏高度标题栏高度

    在Android开发中,了解设备的屏幕属性是至关重要的,这些属性包括屏幕大小、屏幕分辨率、屏幕密度以及系统组件的高度如导航栏和标题栏。这些信息对于优化应用布局、适配不同设备以及提供良好的用户体验至关重要。...

    android-sdk\platforms\android-20

    这些图像可能包含不同类型的设备配置,如ARM或x86架构,以及不同的屏幕尺寸和分辨率。 3. **平台库**:包含了针对Android 20的系统库和资源文件,这些库在编译和运行应用时会被链接到应用中。 4. **...

    一键生成Android/Android-HD/IOS 多尺寸ICON

    针对不同的操作系统,如Android、Android-HD(高清版)和iOS,图标需要适应各自的显示标准和设备分辨率,因此需要制作多个尺寸的图标。本教程将围绕“一键生成Android/Android-HD/iOS多尺寸ICON”的主题,详细讲解这...

    Android dimens.xml 不同分辨率生成

    Android 工程里面values文件夹有dimens.xml文件,为了适配不同的分辨率,例如values-sw400dp,values-sw600dp,values-sw720dp,如果自己去生成这几个文件夹,需要根据values里面的dimens.xml进行计算,然后修改,这个...

    玩转Android多分辨率规格的界面设计

    玩转Android多分辨率规格的界面设计 随着移动互联网的飞速发展,Android系统因其开放性和灵活性,成为全球最受欢迎的移动操作系统之一。然而,这也带来了挑战,尤其是对于界面设计师而言,如何应对Android设备屏幕...

    Android字体大小自适应不同分辨率的解决办法

    Android字体大小自适应不同分辨率的解决办法 今天有人问我,Android系统不同分辨率,不同大小的手机,字体大小怎么去适应呢?其实字体的适应和图片的适应是一个道理的。 一、原理如下: 假设需要适应320×240,480...

    android-4.1SDK android-sdk_r20-windows.zip

    http://s1.eoeandroid.com/sdk/4.1/android-sdk_r20-windows.zip(推荐) http://s1.eoeandroid.com/sdk/4.1/installer_r20-windows.exe Mac版: http://s1.eoeandroid.com/sdk/4.1/android-sdk_r20-macosx.zip ...

    Android多分辨率解决方案

    在Android开发中,面对众多不同分辨率的设备,开发者必须采取有效的多分辨率解决方案,以确保应用程序在各种设备上都能提供良好的用户体验。以下将详细介绍Android多分辨率适应的策略。 1. **资源目录结构** ...

    android多屏幕多分辨率适配

    在Android开发中,面对各种不同尺寸和分辨率的设备,如何实现多屏幕多分辨率的适配是开发者必须掌握的关键技能。Android系统提供了丰富的机制来帮助我们处理这个问题,使得应用能够在各种屏幕上正常显示,提供良好的...

    android-21 SDK

    "android-21 SDK" 特别指的是针对Android 5.0 Lollipop操作系统的开发工具。这一版本的SDK包含了针对该平台的所有必要组件,允许开发者构建与Android 5.0兼容的应用。 首先,Android SDK的核心组成部分包括: 1. *...

    android-sdk-windows-1.5_r3.zip-tools

    标题中的“android-sdk-windows-1.5_r3.zip-tools”表明这是一个针对Windows平台的Android SDK的早期版本,具体为1.5_r3。这个压缩包包含的是SDK中的“tools”目录,里面通常装有用于Android应用开发和设备管理的...

    ksoap2-android-assembly-2.6.5-jar-with-dependencies.jar

    ksoap2-android-assembly-2.6.5-jar-with-dependencies.jar 要是需要最新的,下载地址: http://code.google.com/p/ksoap2-android/

Global site tag (gtag.js) - Google Analytics