安卓开发文档翻译:平板应用程序质量,Tablet App Quality
平板, 在安卓的世界上占有了越来越多的份额,因而,提供了新的 用户获取及变现 机会。 此文档中的向导会帮助妳为自己的应用程序开发出有趣的特性和美观的用户界面,以满足平板用户的审美。
尽管本文中的那些指南是有编号的,但是,妳可以按照任意顺序来实施它们。妳应当判断一下每条指南是否适合妳的应用程序,并且——出于向妳的消费者发布最好的产品的目的——尽可能地遵循它们。
在本文档中,会看到一些链接,它们详细解释了每条建议。
发布一款优秀的平板应用程序,第一步就是,确保它满足它所预期支持的所有设备及屏幕因素的 核心应用程序质量标准 。预知完整信息,则参考 核心应用程序质量指南 。
在发布之前,还需要确保,妳的应用程序通过了基本的技术测试及启动标准测试,例如:
•. 表明自己支持适当 的安卓版本
•. 正确 地指明妳所需要的任何硬件依赖条件
•. 声明对于适当 的屏幕的支持
•. 用尽所有可用 的屏幕空间
•. 向 Google Play 上传了截屏
如果妳的应用程序已经上传到了Google Play Developer Console,则,可在 优化提示页面 查看它是否满足这些检查条件。
安卓系统做了大量工作,使得,妳开发的应用程序可以轻易地在不同屏幕尺寸和长宽比例的设备上运行。这种强大的兼容性,给妳带来咯狠大的好处,因为,妳可以开发单个的应用程序,然后将它分发到妳所支持的所有设备上去。但是,为了在不同的屏幕特征的设备上给予用户最佳的体验——妳需要针对每种不同的屏幕特征优化妳的布局及其它的用户界面组件。对于平板,当妳优化自己的用户界面的时候,就可以完全地利用额外多出来的那些屏幕空间,比如,提供某些新特性、显示某些新内容、或者以其它方式来增强用户体验,以让用户爱上妳的应用。
如果妳的应用程序是针对手持设备开发的,而如今想要将它发布到平板上,则,可以从对布局、字段和间距进行微小的调整开始。在某些情况下——例如7英寸的平板,或者本身带有一个巨大画布的游戏——可能只需要做这些调整就能让妳的应用看起来无比美妙了。在其它情况下,例如对于更大的平板,妳可以重新设计用户界面中的某些部分,将那些“拉伸式的界面”替换成一个高效的多面板用户界面,使 得它更容易导航,以及,添加额外的内容。
抛掉那 种“拉伸式界面”: 在平板上,单面板的布局,会导致产生丑陋的空白和过长的文字行。使用填充来减少界面元素的宽度,另外,考虑使用多面板的布局。
以下是一些建议:
•. 对于 large 和 xlarge 屏幕,提供自定义的布局。妳还可以提供,根据屏幕的 最短边尺寸 或 最小可用宽度和高度 来载入的布局。
•.最少,对尺寸做一些自定义,例如字体尺寸、边距、间距,都针对较大屏幕做些调整,以提高空间的利用率及内容的易读性。
•.调整界面控件的位置,使得,拿着平板的用户狠容易操作到它们,例如,当处于横向模式时,将控件放置在屏幕边缘。
•. 界面元素 的填充间距,一般情况下,在平板上应当比在手持设备上使用更大的间距。建议遵循 48dp律 (和16dp网格 )。
•. 适当地给文字内容添加一些间距,使得它们不是与屏幕边缘直接对齐的。对于靠近屏幕边缘的内容,最少使用 16dp 的填充间距。
尤其是,要确保,不要让妳的布局看起来像是在屏幕上“拉伸了”一样:
•. 每行文字不要太长了——最佳情况是,每行大约100个字符,最好是控制在50到75个字符之间。
•.ListView和菜单,不应当使用整个屏幕的宽度。
•.使用填充间距来管理屏幕上的元素的宽度,或者,在平板上使用一种多面板的界面(参考下一小节)。
利用安卓所提供的灵活的布局系统,创建出能够平滑地从手机过渡到平板及更大设备的应用程序。
通过使用与密度无关的网格来优化妳的应用程序的界面布局。
调整妳的用户界面,使得它在多种屏幕尺寸上都显示出最佳状态。
多面板布局 ,在平板屏幕上有更好的平衡感,同时提供了更多的可用性和易读性。
平板屏幕,给妳的应用程序提供了多得多的可用空间,尤其是当设备处于横向模式的时候。尤其是,10英寸的平板,明显提供了更多的屏幕区域,但是,即使是7英寸的平板,也多出了狠多空间,妳可以用来显示额外的内容,以吸引用户。
当妳考虑自己的应用程序在平板上运行的界面效果时,请确保,它充分利用了平板上额外的屏幕可用空间。以下是一些建议:
•.想办法包含一些额外的内容,或者换种形式来对待已有的内容。
•. 在平板上使用 多面板布局 来将一些单个的视图组合成复合的视图。这样,妳就可以更高效地利用额外的屏幕空间,并且,用户也更容易使用妳的应用程序。
•.作好准备,考虑好,当屏幕的方向发生改变时,如何重新组织妳的复合视图中的面板。
复合视图 ,将手持设备用户界面上的多个单个视图( 上图 )组合成一个更丰富、更高效的针对平板的用户界面( 下图 )。
•. 单屏幕的界面是使用 Activity 子类来实现的,而对于复合视图中的单个内容面板呢,请考虑使用 Fragment 子类来实现。这样,就可以实现,针对多种不同的屏幕长宽比例重用代码,针对多个共享内容的屏幕重用代码。
•. 做出决定 ,要在哪些尺寸的屏幕上采用多面板界面,然后,在适当的屏幕尺寸集合中(例如 large / xlarge )或者最小屏幕宽度条件下(例如 sw600dp / sw720 )提供不同的布局。
针对平板和其它设备设计一个直观、高效的导航界面。
针对平板和其它设备设计一个直观、高效的导航界面。
为了确保妳的应用程序显示出最佳效果,请提供按照平板支持的所有密度范围所设计的位图和图标资源。尤其 是,妳应当按照 图标设计 指南的说明,设计好动作栏、通知栏和启动器的图标,并为它们提供多种密度的版本,这样,让它们在多种不同的屏幕上都以正确的尺寸显示,而不需要做模糊或缩放处理。
表 1 . 图标类型 的原始资源尺寸。
密度 |
启动器 |
动作栏 |
小尺寸/上下文 |
通知栏 |
mdpi |
48x48 px |
32x32 px |
16x16 px |
24x24 px |
hdpi |
72x72 px |
48x48 px |
24x24 px |
36x36 px |
tvdpi |
(等同 于 hdpi) |
(等同 于 hdpi) |
(等同 于 hdpi) |
(等同 于 hdpi) |
xhdpi |
96x96 px |
64x64 px |
32x32 px |
48x48 px |
xxhdpi |
144x144 px |
96x96 px |
48x48 px |
72x72 px |
最少 ,针对每个图标和位图资源, 最少 为以下的某一个平板屏幕密度提供一个优化版本:
•. hdpi
•. xhdpi
•. xxhdpi
其它建议:
•.设计图标时使用向量图形,这样,在缩放时不会丢失细节及边缘锐利度。
•. 使用 与密度相关的 资源标识符 ,以确保,针对每种屏幕密度,载入的都是适当的图标。
•. 平板 和其它大屏幕的设备,通常会请求获取一个比其设备实际密度要大一号密度的启动器图标,因此,妳应当按照最高可能的密度来提供图标。例如,假设某个平板的屏幕密度是 xhdpi ,则,它可能会请求获取 xxhdpi 版本的启动器图标。
支持 不同的屏幕
安卓使用两种通用属性来对屏幕进行分类:尺寸和密度。妳应当预期,妳的应用程序会被安装到带有不同屏幕尺寸和密度的设备上。因此,妳应当包含一些替代资源,它们……
图标设计指南
图标,是一个小小的图形,它在屏幕上占用一小块地方,为一个动作、状态或应用程序提供了一个直观、快捷的印象。在设计应用程序的图标时,有一点非常重要,请记住,妳的应用程序可能会被安装到……
为了确保妳的应用程序在平板上易于使用,请花上一些时间,针对妳准备提供支持的所有屏幕配置,调整其字体尺寸和点击目标。 妳可以使用 可主题化的属性 或 尺寸资源 来调整字体尺寸,也可使用布局和位置绘图对象来调整点击目标,如前文所述。
以下是一些考虑事项:
•.对平板屏幕的尺寸和密度,文字内容不应当过大或过小。请确保,文本标签应当按照它们所表示的界面元素来设置为适当的尺寸,另外请确保,在文本标签、标题和其它元素中,不应当有不美观的换行发生。
•. 对于屏幕 上的元素,建议的点击目标尺寸是 48dp(最小 是 32dp)——对于 妳的平板界面,可能需要做些调整。阅读 度量及网格 ,以学习一些能够帮助到妳的大部分用户的实现策略。为了满足特定用户的可用性需求,可能需要将点击区域设置得更大。
•. 可能 的情况下,对于较小的图片,通过以下手段来将它的点击区域扩展到48dp 以上:使用 TouchDelegate ;或者直接将该图标居中放置在一个透明的按钮中。
如果在妳的安卓应用程序中利用字体学。
如果妳的应用程序中包含着一个桌面屏幕部件的话,则,以下也有一些建议,请考虑这些建议,以确保在平板屏幕上具有一个优异的用户体验:
•.针对平板屏幕,给该部件设置一个适当的默认高度和宽度,另外,设置适当的最小和最大高度和宽度。
•. 该部件应当能够被改变到420dp 大小的尺寸,以跨越5个或更多的桌面屏幕行(此处假设它是一个竖向或方形的部件)或桌面屏幕列(假设它是一个横向或方形的部件)。
•.确保点9图片能够正确地显示。
•.使用默认的系统边距。
•. 可能 的话,将该应用程序的 targetSdkVersion 设置成14 或更高版本。
设计指南,说明的是,如何创建易用也好看的部件。
应用程序部件,是微型的应用程序视图,可被嵌入到其它应用程序中(例如桌面屏幕),并且定期接收更新。这些视图,在用户界面中称作部件,妳可以通过应用程序部件提供器来发布这种东西……
让平板用户体验到妳的应用程序的最佳特性。以下是一些建议:
•.设计妳的应用程序,使得它最少在平板上表现出与手机上相同的特性集合。
•.在特殊情况下,妳的应用程序可以在平板上省略掉或者替换掉特定的特性,前提是,它们不支持当前硬件,或者,该使用场景不适合于大部分平板。例如:
•.如果在手持设备上用到了电话特性,而当前平板上不提供电话特性,则,妳可以省略或替换掉相关的功能。
•. 狠多平板都带有GPS传感器,但是,大部分用户不会在携带平板时奔跑。如果妳的手机应用程序提供了在奔跑时记录GPS轨迹的功能,那么,在平板上,可能不需要提供这种功能,因为,这种使用场景有点诡异。
•.如果妳准备在平板界面中省略掉某个特性或功能,则,请确保,用户确实访问不到它,或者,提供到另一个替代特性的“优雅降级”(参考后续关于硬件特性的小节)。
为了确保妳的应用程序尽可能多地被传播到平板上去,请确保,在妳的应用程序中正确地将目标安卓版本设置成了支持平板的版本。 对平板的支持,最初是从 安卓3.0 (应用编程接口级别11)开始加入的。自 安卓4.0 开始,引入统一的支持平板、手机和其它设备的界面框架。
妳可以在清单文件的 <uses-sdk> 元素中设置该应用程序支持的目标安卓版本的范围。大部分情况下,只需要将该元素的 targetSdkVersion 属性设置成当前可用的最高应用编程接口级别,就相当于正确地设置好了目标安卓版本。
最少 ,请检查 <uses-sdk> 元素,以确保它满足:
1. targetSdkVersion 被声明为数值 11 或更高数值 (建议 是 14 或更高数值 ) , 或者
2. minSdkVersion 被声明为数值 11 或更高数值。
3. 如果声明 了 maxSdkVersion 属性,则,它的值必须大于或等于11。注意,一般情况下, 不建议 使用 maxSdkVersion 。
学习,如何声明自己的应用程序支持最小及目标应用编程接口级别。
让妳使用多个应用编程接口级别的数值来表达妳的应用程序支持哪些安卓平台版本。应用程序所表达的应用编程接口级别会被拿来与安卓系统给出的应用编程接口级别进行比较,而后者通常会随着设备而变化……
手持设备和平板,在以下方面通常会有些微的差别:传感器、摄像头和其它特性。例如,狠多平板都带有“无线”功能,但是通常不会带有电话功能。
所以, 为了让妳的单个 APK能够 被广泛地传播到手机和平板用户,请确保,不要在妳的应用程序中声明那些通常在平板上不支持的硬件特性。正确的做法是,在清单文件中,将那些硬件特性声明为 非必需 ,如下所示。
•. 在妳的应用程序的清单文件中,检查所有的 <uses-feature> 元素。注意找那些可能在某些平板上不受支持的硬件特性,例如:
•. android.hardware.telephony
•. android.hardware.camera (表示 后置摄像头 ) ,或
•. android.hardware.camera.front
•. 将该 <uses-feature> 元素声明为 非必需 ,具体做法就是包含 android:required=”false” 属性。
例如,下面 这个示例,就是一种适当的声明 android.hardware.telephony 依赖关系的方式,因此,妳仍然可以将该应用程序广泛传播,甚至可以传播到不提供电话功能的设备上去:
<uses-feature android:name = "android.hardware.telephony" android:required = "false" />
•. 同样地,检查清单中那些 隐式包含硬件特性依赖 因而不适合于平板的 <permission> 元素。如果发现了这种权限,则,请显式地针对该特性声明一个对应的 <uses-feature> 元素,并且让它包含一个 android:required=”false” 属性。
在将硬件特性声明为 非必需 之后,请确保,在多种设备上测试妳的应用程序。 当它所使用的硬件特性不可用时,该应用程序应当仍然正常工作,并且,在条件满足的情况下,还应当提供“优雅降级”和替代功能。
例如,如果某个应用程序在正常情况下是利用GPS来设置位置的,则,在不支持GPS的设备上,可以请求用户来手动设置位置。应用程序可在运行时检查设备的硬件特性,并在必要的情况下做出处理。
声明该应用程序所使用的单个硬件或软件特性。<uses-feature>声明的目的是,向外部实体告知,妳的应用程序所依赖的硬件及软件特性集合。该元素……
确定某个应用程序的硬件及软件需求。
为了确保妳的应用程序能够被广泛分发到平板上去,妳应当在清单文件中声明对于平板屏幕尺寸的支持情况,如下所示:
•. 如果声明 了一个 <supports-screens> 元素,则,不能指定 android:largeScreens="false" 或 android:xlargeScreens="false" 属性。
•. 对于目标 minSdkVersion 值小于13 的应用程序,必须声明一个 <supports-screens> 元素 ,并且设置 android:largeScreens="true" 和 android:xlargeScreens="true" 属性。
如果应用程序 在清单文件中声明了一个 <compatible-screens> 元素,则,该元素中应当包含对应的属性,指定该应用程序所支持的 所有的平板屏幕的尺寸和密度组合 。注意,可能的情况下,应当避免在妳的应用程序中使用 <compatible-screens> 元素。
如何在妳的应用程序的清单文件中声明对于屏幕尺寸的支持。
在为妳的平板应用程序创建好了一个美丽而又经过优化的界面之后,请确保妳的客户知道这一点!以下是一些在 Google Play 上推广妳的平板应用程序的主要手段。
平板用户需要知道妳的应用程序在平板上是显示成什么样子的,而不是在手机上显示的样子。如果妳开发了一个平板应用程序,请确保,向 Google Play Developer Console 上传了妳的平板界面截屏。以下是一些指南:
•.展示妳的应用程序的核心功能,而不是启动画面或登录页面。应当在妳的截屏中展示用户会花上最多时间的界面。
•. 同时添加7英寸和10平板的截屏。
•.可能的情况下,同时添加横向和竖向状态下的截屏。
•.可能的情况下,使用纯粹的截屏。避免在截屏中显示实际的设备硬件。
•. 对于平板截屏,建议 的分辨率是 1280 x 720 或更高,并包含两个朝向。
•.对于7英寸的平板,上传8张截屏,对于10英寸平板,再上传8张截屏。
•.在应用程序的说明文字中,请确保,要强调,妳的应用程序针对平板进行了界面优化,并且为平板用户提供了优异的特性。具体说一说妳的平板界面是如何使用的,以及,用户为什么会喜爱它。
•.在应用程序的发布说明和更新信息中,包含信息,表明它支持平板。
狠多用户都会观看应用程序的推广视频,以了解该应用程序是干什么用的,以及自己是否需要它。对于平板用户,请利用这种爱好,在推广视频中强调妳的应用程序的平板界面。以下是一些建议:
•.加入妳的应用程序在平板上运行的一到多个截屏。为了尽可能地吸引到平板用户,我们建议,以与手机界面等同的优先级来推广妳的平板界面。
•.在视频中尽可能早地展示妳的平板界面。请不要假装认为平板用户会耐心地等待妳在视频中展示手机界面的特性。最好是,在开头10秒内就展示平板界面,以吸引用户的注意力,或者与手机界面同时展示。
•.为了明确表示妳当前所展示的是一个平板界面,请在视频中包含妳的应用程序在实际的手持平板设备上运行的截屏。
•.在视频的解说中强调妳的应用程序的平板界面。
请确保,平板用户能够在妳的推广行动、网站、社交发言、广告和其它地方看到妳的平板界面。以下是一些建议:
•.在市场推广或广告行动中强调妳的应用程序的平板界面。
•. 在推广行动中展示出妳的平板应用程序最美好的一面——使用 设备艺术生成 器 来快速地生成妳的应用程序在7英寸或10英寸平板上运行时的高质量的推广图片,还可以选择朝向,选择阴影和屏幕光晕。步骤狠简单:截屏、拖、放。
•. 在妳的在线推广行动中,显示一个 Google Play 徽标,这样,用户就可以直接跳转到妳的应用程序在商店中的页面。妳可以使用 徽标生成器 来生成多种语言的徽标。
工具控制台,用于发布妳的应用程序。
将妳的应用程序的截屏拖放到设备图片中,以获取更美丽的推广图片及视觉上下文。
只需几次点击,就能够为妳的应用程序生成徽标,或者,下载针对多种语言生成的高分辨率的徽标资源。
以下是在Google Play 中发布平板应用程序的最佳实践。
Google Play Developer Console中有了一个 优化提示 页面,妳可以快速检查妳的应用程序是否符合平板应用程序的发布条件及质量。要想访问这个页面,则,登录到Developer Console,从 所有应用 页面跳转到妳要查看的应用程序的页面,然后点击左侧导航栏中的 优化提示 。
如果妳的应用程序支持平板,请确保,访问 优化提示 页面,以检查它是否符合基本的检查标准。如果该页面列出了任何问题,则,我们建议妳找到并修复自己应用程序中的问题,并且在必要的情况下上传一个新的安装包。
如果 在 优化提示 页面的“待优化事项”中有某些妳认为对于妳的应用程序来说不成立的问题,或者会影响到它在平板上的质量,则,请使用 针对平板开发的应用程序问题表单» 来告知我们。 我们会检查一下妳的应用程序,并且适当地更新妳的 优化提示 页面。
在向 Developer Console 上传了应用程序之后, 请检查该应用程序的 支持设备 列表 ,以确保,没有 将妳想要支持的平板过滤掉。
我们建议妳将自己的应用程序分发为针对所有屏幕尺寸(手机及平板)的单个APK,在Google Play 中以单个条目出现。这种实现方式,有以下好处。
•.用户更容易通过搜索、浏览或推广找到妳的应用程序。
•.用户更容易在弄到一个新设备之后自动恢复妳的应用程序。
•.妳的评分和下载统计数据会将所有设备包含在内。
•.以不同的条目来单独发布一个平板应用程序,会稀释妳的品牌。
必要 的情况下,妳仍然可以利用 多APK 来分发妳的应用程序,不过,大部分情况下,还是强烈建议妳使用单个APK 来支持所有的设备。
在Nexus 7 和其它优秀设备的推动下,已有7000万个安卓平板被激活。成千上万的开发者已经针对平板优化了它们的应用程序,并且,靠着假期推广计划,我们甚至……
当某个用户在 Google Play 上搜索或浏览应用程序时,搜索结果会根据应用程序是否支持当前设备来进行过滤。例如,如果某个应用程序要求设备上装有摄像头,则,Google Play不会在那些不带摄像头的设备上显示该应用程序……
在平板上评估妳的应用程序的质量——既要评估核心应用程序质量也要评估平板应用程序质量——要用上合适的硬件或模拟器环境来进行测试。
除了针对核心应用程序质量标准而设置的 建议 的测试环境 之外, 还要包含中等尺寸的平板及带有较多或较少硬件/软件特性的平板。
表 1 . 一个典型的平板测试环境,应当对于下表中的每一行包含一到两个设备,其中指定 了平台版本、屏幕配置和硬件特性配置
类型 |
尺寸 |
密度 |
版本 |
AVD皮肤 |
7-英寸平板 |
large 或 -sw600 |
hdpi 、 tvdpi |
安卓4.0+ (应用编程接口级别14或更高版本) |
WXGA800-7in |
10英寸平板 |
xlarge 或 -sw800 |
mdpi 、 hdpi 、 xhdpi |
安卓3.2+ (应用编程接口级别13或更高版本) |
WXGA800 |
应用程序的质量直接影响到妳的应用程序的长期发展——包括安装量、用户评分、吸引力和用户存活率。
计算器
日历
文件管理
未知美人
未知美人
未知美人
让爱与和平占领中环
未知美人
Katy Perry
☂我要真普选
☂我要真普选
可自主设计图案的概念衣裳
Kim Kardashian
Sarah Michelle
Zosia Mamet , Jemima Kirke
Your opinions
HxLauncher: Launch Android applications by voice commands