在Nexus 7出来之前,Android平板市场的低迷一直让开发者对设计好Android平板上的App兴趣缺缺。为了给自己的平板业务创造一个优质的App市场,Google近日向开发者发布了10条在Android平板上开发App的准则,下面是这10条准则的详细描述。
1,保证符合App的通用开发准则
在谈Android平板App的开发准则之前,我们首先要保证App符合通用的开发准则,这些准则是所有Android设备上的App都必须满足的。另外,为了测试开发者设计的App是否符合这些准则,开发者需要通过模拟App的运行环境进行测试,而如何设置测试环境,测试应满足哪些规范,开发者同样需要注意。
2,针对平板屏幕大的特性优化App
如果我们把为Android手机开发的App拿到Android平板上运行,由于屏幕尺寸变大,会出现不同程度的拉伸变形。这时候,对于一些小平板,比如7寸的Nexus 7,开发者只需要做适当的微调,比如放大字体、放大元素、增加元素和边框(padding)、元素和元素(margin)之间的间隙等,就能够满足需求了。
几个关于微调的小建议:
- 在平板上,元素和边框之间的间距(padding)通常要比手机上的padding宽,以48dp为宜
- 内容和屏幕边缘的间隔在16dp为宜
- 适当调整界面中控制按钮的位置,方便用户在各种使用场景中都能容易操作
但是,对于一些大平板,比如Google即将推出的10寸Nexus平板,这些微调就不顶用了。比如一个列表控件,在7寸平板上微调一下就能用,但在10寸平板上,微调之后更丑:可能出现大片空白,也可能列表每列的字数增加到超过100字(每列字数在在50-75为宜),这种设计中的拉伸变形应尽量避免。这时开发者应该变废为宝,把多余的空间好好利用起来干别的事(参看第3条)。
3,利用好平板上多出来的空间
平板,尤其是10寸大平板,比起手机的屏幕来,多的地方不是一点半点。要怎么利用好这些多出来的地方呢?这里有一些建议:
- 看是否能够添一些新的内容,或者换一种方式呈现已有的内容
- 试着将两个界面拼到一块;或者增加一个导航栏,方便用户在多个界面之间随意切换,下面是一个例子:
上图是手机App中的3个界面,对应导航、内容条目、内容3个层级的界面。而如果是在平板上,我们可以把3个界面这样合并:
- 在设计代码时,除了将每一个页面作为一个Activity子类,我们还可以考虑把页面里内容板块化,每个内容板块单独做一个Fragment子类,从而提升代码的重用性。
4,针对特定屏幕密度使用特定的图标和位图
为了App获得最佳效果,App中的按钮图标或位图必须和特定的屏幕密度匹配。因此对于同一个按钮图标,开发者应该针对Android屏幕的4种屏幕密度准备4张图。
下表是4种典型的控制按钮对应4种屏幕密度的参考分辨率:
5,调整字体大小和触控按钮
针对UI上的标签、触控按钮等所有元素都必须一个一个调整字体大小,保证一个标签中,字与字之间没有间隔。触控按钮的标准大小为48dp(最小32dp)。对于一些特定群体的用户,可以适当增大触控按钮。如果触控按钮上的图标很小,一定要将图标居中,同时可以适当扩宽有效的触控区域。
6,调整桌面Widgets的大小
如果开发者要为App做一个桌面Widget,Widget的尺寸、Widget的伸缩范围也必须按照屏幕尺寸做适当调整,确保App的Widget能够拉伸到420dp及以上。确保Widget上含有的图片能够正确地被渲染。使用系统默认的Margin。将应用的targetSdkVersion参数设置为14,或者更高。
7,根据平板特性调整App功能集
开发者,让你的用户在平板上体验到你的App最好的一面!一般情况下,至少保证App在平板上的功能集和在手机上一样大。在某些特殊情况,比如硬件不支持、用户使用平板的场景限制,可以考虑去掉或者替换掉某些功能。
举例来说,平板和手机不一样,不支持拨号业务,因此在把手机上的App移植到平板上时,应把相关功能去掉。另外,虽然很多平板上都有GPS传感器,但开发者应考虑到,用户在使用GPS功能时,大多时候是出门在外,在行走,这时比起使用平板上的GPS,用户更喜欢用小巧的手机上的GPS。因此,平板App不用专门提供GPS功能。
最后,如果开发者在UI设计上省去了某项功能,那就一定要保证用户不会通过其它方式获得此项功能。而且,如果因硬件受限要对某项功能降级,确保要降的漂亮。
8,避免利用那些平板可能不支持的硬件功能
手机和平板、不同的平板,在传感器、照相机、拨号功能的硬件支持方面可能采取的是不同策略。为了保证App尽量简单通用,一个APK就能把事情搞定,最好不要调用平板上一些可能不具有的硬件功能。比如android.hardware.telephony、android.hardware.camera、android.hardware.camera.front。如果非要调用,一定要事先声明android:required=”false”。
9,针对屏幕尺寸进行声明
为保证App能适用于各种平板的屏幕,在代码的声明部分,通过 <supports-screens>元素一定要列举各种屏幕尺寸。
10,在Google Play上发布App的注意事项
Google鼓励开发者针对所有尺寸的设备(包括手机和平板)只发布一个APK。如果有手机和平板两个版本,也不要建两个Google Play页面,一个就够了,否则会稀释品牌影响力。
同时,App如果有平板上的版本,至少要在Google Play页面的屏幕截图区域,放上一张App在平板运行的照片,在App描述部分也要提到支持平板,在App的宣传片包含App在平板上运行的镜头。
另外,开发者一定要通过Google给的开发者接口去查查你的App是否屏蔽了平板设备,确保去掉这个屏蔽。有能力的开发者最好专门为App的平板版本做宣传。