一、调侃现状

Android不像苹果:苹果公司为iphone包办的软件硬件,而Android手机的硬件设备却不尽相同。单是屏幕设备就有很多(分辨率、尺寸、DPI)。这些种类繁多的屏幕设备给开发人员在Android界面开发时提高了不少难度。

我们看看目前主流的Android手机采用的屏幕设备:

可爱的摩托罗拉大哥是怎样“疼爱”开发人员滴?Droid X 和Droid分辨率相同(480*800),但是DPI(每英寸的点数)却相差十几个。再看看HTC Droid和HTC Evo的差距也不小,死板界面设计用在它们身上“不是你死就是我亡”。

至于为什么要有DPI的出现呢,因为不同尺寸的屏幕可能会用相同的分辨率,每英寸的点数不同,每英寸的点数值就是DPI。

上个图让大家体会一下不同分辨率的屏幕感观。

二、锦囊妙计

可谓“兵来将挡水来土掩”,山人自有妙计。Android平台提供了DIP(Density Independent Pixels 与密度无关像素)。用它来定义界面元素的大小,能够根据不同屏幕进行渲染,使其适应不同的屏幕。

不过这种方法就不适用于那些已渲染的资源,比如图片。这样的情况,有几种方法选择:

1.代码控制
即不灵活又不美观。

2.为不同的屏幕准备相应的多套图片
不错,但是最终.apk包会变好大。

3.做成9-patch图片
呵呵,是个不错的选择,不过要有劳美工设计多费心神了。

4.为最常用的屏幕准备相应的9-patch图片
是最佳方法。方法2和方法3的结合。为常用的屏幕240×340, 320×480, 480×800提供相应的9-patch图片,9-patch图片会根据屏幕的长宽比变高或变宽。

三、9-Patch 图片

9-Patch 图片分有安全区域和拉伸区域,拉伸区域会根据屏幕不同而改变。

更多相关文章

  1. Android之Picasso
  2. Android在使用WebView时,图片显示出错问题。
  3. Android多分辨率适配-长度单位和转换计算-多分辨率适配
  4. Android多分辨率适配原理
  5. RecyclerView中ViewHolder重用机制理解(解决图片错乱和闪烁问题)
  6. Android的List点击某一项之后的背景设置
  7. Android(安卓)开源框架Universal-Image-Loader完全解析(一)--- 基
  8. 深入探索 Android(安卓)内存优化(炼狱级别)
  9. Android(安卓)程序之在线词典[2010-05-08更新图片]

随机推荐

  1. Android(安卓)API : SimpleCursorAdapter
  2. Android 进阶 内存泄漏常见案例(续)
  3. Android(安卓)-- 系统信息(内存、cpu、sd
  4. 【SwipeRefreshLayout】Google官方下拉刷
  5. ART:新的Android运行时库
  6. android SDK更新
  7. 关于Android LinearLayout添加分隔线的方
  8. android中的UI控制(三)
  9. 【Android Developers Training】 10. 序
  10. android的SAFE MODE(安全模式)