2.10 将Android手机应用程序改编为平板电脑应用程序
Pratik Rupwal
2.10.1问题
你已经为智能手机开发了应用程序,希望在不对代码进行重大修改的情况下在平板电脑上妥善运行。
2.10.2 解决方案
想让应用程序在大屏幕的平板电脑上与在中小屏幕手机上工作得一样好,需要考虑许多方面。这些关注点包括屏幕分辨率、方向(除了“电子书阅读器”应用程序之外,平板电脑较常采用水平模式)以及GUI组件的大小。以可移植的方式处理这些细节有助于将基于手机的应用程序迁移到平板电脑上。
2.10.3 讨论
在计算机上安装Android SDK(如果还没有这么做的话)。然后按照如下步骤进行:
1 . 启动Android SDK 和AVD Manager并安装如下软件:
SDK Platform Android 3.0
Android SDK Tools, revision 10
Android SDK Platform-tools, revision 3
Documentation for Android SDK, API 11
Samples for SDK API 11
2 . 如果你没有(或者不希望使用)基于Honeycomb或 Ice Cream Sandwich的实际平板电脑,为平板类型设备创建Android虚拟设备(AVD)。将目标设置为“Android 3.0”,将皮肤设置为“WXGA”(默认皮肤)。
3 . 打开清单文件,更新uses-sdk元素,将android:targetSdkVersion设置为“11”,例如:
<manifest ... >
<uses-sdk android:minSdkVersion="4"
android:targetSdkVersion="11" />
<application ... >
...
<application>
</manifest>
针对Android 3.0平台,系统在应用程序运行在Android 3.0设备上时为每个活动应用全息主题。全息主题为窗口部件(例如,按钮和文本框)提供了新的设计,为其他视觉元素提供了新的样式,是Android 3.0应用程序的标准主题,因此应用程序将与系统和其他应用程序有一致的观感。
4 . 用之前使用的同一个Android平台版本(如在android:minSdkVersion中声明的版本)构建应用程序,但是将其安装到Android 3.0 AVD上。(除非你打算使用新的API,否则不要用Android 3.0构建应用)重复测试,确定用户界面可以很好地用于全息主题。
可选的指导方针
下面的指导方针是将应用程序移植到平板电脑上优先考虑的问题:
1 . 横向布局:因为平板类设备的“常规”方向通常是横向(宽),所以应该确保活动为宽可视区域提供优化的布局。
2 . 按钮位置和大小:考虑一下,当用两手抓住平板电脑时,UI中最常用的按钮的位置和大小是否容易访问。在某些情况下,可能需要改变按钮的大小,特别是在其宽度值为wrap_content的情况下。在必要时,应该为按钮增加间距、用带有dp单位的值指定尺寸或者在按钮处于线性布局时使用android:layout_weight,以此来扩大按钮。对每种屏幕尺寸的比例要有好的判断力——你也不希望使用过大的按钮。
3 . 字体大小:确保应用程序设置字体大小是使用sp单位。这是与缩放无关的像素单位,会根据当前屏幕相应地改变大小,因此仅仅使用它就应该能确保在平板类设备上字体的清晰。但是,在某些情况下,你可能希望考虑在超大的配置上使用较大的字体尺寸。