读书人

创办支持多种屏幕尺寸的Android应用

发布时间: 2013-07-09 09:50:47 作者: rapoo

创建支持多种屏幕尺寸的Android应用

?

Android涉及各种各样的支持不同屏幕尺寸和密度的设备。对于应用程序,Android系统通过设备和句柄提供了统一的开发环境,大部分工作是校正每一个应用程序的用户界面到它显示的屏上。与此同时,系统提供APIs允许你控制应用界面为特定的屏幕尺寸和密度,为不同屏幕的配置提供最优化的用户界面设计。例如,你可能会要一个平板电脑的用户界面,这不同于手机的用户界面。

虽然系统能缩放,调整其尺寸,以使应用软件工作在不同屏上,但是应该尽量优化应用软件适应不同的屏幕尺寸和密度。为此,对所有设备的用户体验应最大化且应让用户们相信应用软件是真正为他们的设备设计的,而不是简单的拉伸使屏适合他们的设备。

按照文中描述的做法,通过使用一个apk文件,可以创建一个应用软件能恰当显示并在所有的支持屏配置中提供最优用户体验。

* 注* :在此文中假设应用程序是为android 1.6(API level为4)或者更高的Android系统设计的。如果应用程序支持android 1.5或者更低的安卓系统,请首先阅读Strategies for Android 1.5章节。

Also, be aware that Android 3.2 has introduced new APIs that allow you to more precisely control the layout resources your application uses for different screen sizes. These new features are especially important if you're developing an application that's optimized for tablets. For details, see the section about Declaring Tablet Layouts for Android 3.2.

多屏支持概述

本节提供了Android支持多屏的概述,包括:介绍了本文中API用到的术语和概念,总结了系统支持的屏设置,概述了API和下面的屏幕兼容特性。

术语和概念

屏幕尺寸

:实际的物理尺寸,是按照屏幕的对角线计量的。

:为简单起见,Android把所有的屏幕尺寸划分为四种广义的尺寸:小、标准、大,特大号。

屏幕密度

:屏幕占据的物理区域所含像素的个数;通常被称为dpi(每英寸点数).

:例如在给定的物理区域中,与“标准的”或“高”密度屏幕相比,低密度屏幕具有较少的像素。

方向

:屏幕的方向来自于用户的角度。这是横向或纵向,分别指屏幕各个角度的比例,而不是宽或高。需要注意的是,不仅不同的设备在不同方向运行,而且当用户旋转设备时,方向也同时在改变。

分辨率

:屏幕上物理像素的总数。支持多屏时,应用程序不直接与分辨率有关,应用程序应该只关心屏幕的尺寸和密度,用指定的广义的尺寸和密度组。

dp

:一种有效的在定义UI布局时你应当使用的像素单位,以一种密度无关的方式表示布局的尺寸或者位置。

:dp相当于160dpi屏幕,它是系统为“中等的”密度屏设定的基准密度。同时,系统透明地处理任何一种dp单位,必要时,基于使用中的屏的实际密度。dp单位根据公式 px = dp * (dpi / 160)简单地转化为屏像素。例如,一个240dpi的屏幕,1 dp等于1.5个物理像素。定义应用程序的UI时,你应该总是使用dp单位,以确保在不同密度的屏幕上正确地显示你的UI。

支持的屏幕范围

从Android1.6(API等级为4)开始,Android提供了支持多个屏幕的尺寸和密度,表明一种设备拥有许多不同的屏幕配置。你应该利用Android系统的这些特性去为每一个屏幕配置优化你的应用程序界面,并且应确保你的应用程序不仅能正常运行,而且应尽可能地在每一个屏幕上提供最好的用户体验。

为了简化为多个屏的用户界面设计方式,Android系统将实际的屏幕尺寸和密度范围划分为:

读书人网 >Android

热点推荐