在 Nexus 7 出來(lái)之前,Android 平板市場(chǎng)的低迷一直讓開(kāi)發(fā)者對設計好 Android 平板上的 App 興趣缺缺。為了給自己的平板業(yè)務(wù)創(chuàng )造一個(gè)優(yōu)質(zhì)的 App 市場(chǎng),Google 近日向開(kāi)發(fā)者 發(fā)布了 10 條在 Android 平板上開(kāi)發(fā) App 的準則,下面是這 10 條準則的詳細描述。
1,保證符合App的通用開(kāi)發(fā)準則
在談 Android 平板 App 的開(kāi)發(fā)準則之前,我們首先要保證 App 符合 通用的開(kāi)發(fā)準則,這些準則是所有 Android 設備上的 App 都必須滿(mǎn)足的。另外,為了測試開(kāi)發(fā)者設計的 App 是否符合這些準則,開(kāi)發(fā)者需要通過(guò)模擬 App 的運行環(huán)境進(jìn)行測試,而 如何設置測試環(huán)境,測試應滿(mǎn)足哪些規范,開(kāi)發(fā)者同樣需要注意。
2,針對平板屏幕大的特性?xún)?yōu)化App
如果我們把為 Android 手機開(kāi)發(fā)的 App 拿到 Android 平板上運行,由于屏幕尺寸變大,會(huì )出現不同程度的拉伸變形。這時(shí)候,對于一些小平板,比如 7 寸的 Nexus 7,開(kāi)發(fā)者只需要做適當的微調,比如放大字體、放大元素、增加元素和邊框(padding)、元素和元素(margin)之間的間隙等,就能夠滿(mǎn)足需求了。
app軟件開(kāi)發(fā)幾個(gè)關(guān)于微調的小建議:
* 在平板上,元素和邊框之間的間距(padding)通常要比手機上的 padding 寬,以 48dp 為宜
* 內容和屏幕邊緣的間隔在 16dp 為宜
* 適當調整界面中控制按鈕的位置,方便用戶(hù)在各種使用場(chǎng)景中都能容易操作
但是,對于一些大平板,比如 Google 即將 推出的 10 寸 Nexus 平板,這些微調就不頂用了。比如一個(gè)列表控件,在 7 寸平板上微調一下就能用,但在 10 寸平板上,微調之后更丑:可能出現大片空白,也可能列表每列的字數增加到超過(guò) 100 字(每列字數在在 50-75 為宜),這種設計中的拉伸變形應盡量避免。這時(shí)開(kāi)發(fā)者應該變廢為寶,把多余的空間好好利用起來(lái)干別的事(參看第 3 條)。
3,利用好平板上多出來(lái)的空間
平板,尤其是 10 寸大平板,比起手機的屏幕來(lái),多的地方不是一點(diǎn)半點(diǎn)。要怎么利用好這些多出來(lái)的地方呢?這里有一些建議:
* 看是否能夠添一些新的內容,或者換一種方式呈現已有的內容
* 試著(zhù)將兩個(gè)界面拼到一塊;或者增加一個(gè)導航欄,方便用戶(hù)在多個(gè)界面之間隨意切換,下面是一個(gè)例子:
上圖是手機 App 中的 3 個(gè)界面,對應導航、內容條目、內容 3 個(gè)層級的界面。而如果是在平板上,我們可以把 3 個(gè)界面這樣合并:
* 在設計代碼時(shí),除了將每一個(gè)頁(yè)面作為一個(gè) Activity 子類(lèi),我們還可以考慮把頁(yè)面里內容板塊化,每個(gè)內容板塊單獨做一個(gè) Fragment 子類(lèi),從而提升代碼的重用性。
4,針對特定屏幕密度使用特定的圖標和位圖
為了 App 獲得最佳效果,App 中的按鈕圖標或位圖必須和特定的屏幕密度匹配。因此對于同一個(gè)按鈕圖標,開(kāi)發(fā)者應該針對 Android 屏幕的 4 種屏幕密度準備 4 張圖。
下表是 4 種典型的控制按鈕對應 4 種屏幕密度的參考分辨率:
5,調整字體大小和觸控按鈕
針對 UI 上的標簽、觸控按鈕等所有元素都必須一個(gè)一個(gè)調整字體大小,保證一個(gè)標簽中,字與字之間沒(méi)有間隔。觸控按鈕的標準大小為 48dp(最小 32dp)。對于一些特定群體的用戶(hù),可以適當增大觸控按鈕。如果觸控按鈕上的圖標很小,一定要將圖標居中,同時(shí)可以適當擴寬有效的觸控區域。
6,調整桌面Widgets的大小
如果開(kāi)發(fā)者要為 App 做一個(gè)桌面 Widget,Widget 的尺寸、Widget 的伸縮范圍也必須按照屏幕尺寸做適當調整,確保 App 的 Widget 能夠拉伸到 420dp 及以上。確保 Widget 上含有的圖片能夠正確地被渲染。使用系統默認的 Margin。將應用的 targetSdkVersion 參數設置為 14,或者更高。
7,根據平板特性調整App功能集
開(kāi)發(fā)者,讓你的用戶(hù)在平板上體驗到你的 App 最好的一面!一般情況下,至少保證 App 在平板上的功能集和在手機上一樣大。在某些特殊情況,比如硬件不支持、用戶(hù)使用平板的場(chǎng)景限制,可以考慮去掉或者替換掉某些功能。
舉例來(lái)說(shuō),平板和手機不一樣,不支持撥號業(yè)務(wù),因此在把手機上的 App 移植到平板上時(shí),應把相關(guān)功能去掉。另外,雖然很多平板上都有 GPS 傳感器,但開(kāi)發(fā)者應考慮到,用戶(hù)在使用 GPS 功能時(shí),大多時(shí)候是出門(mén)在外,在行走,這時(shí)比起使用平板上的 GPS,用戶(hù)更喜歡用小巧的手機上的 GPS。因此,平板 App 不用專(zhuān)門(mén)提供 GPS 功能。
最后,如果開(kāi)發(fā)者在 UI 設計上省去了某項功能,那就一定要保證用戶(hù)不會(huì )通過(guò)其它方式獲得此項功能。而且,如果因硬件受限要對某項功能降級,確保要降的漂亮。
8,避免利用那些平板可能不支持的硬件功能
手機和平板、不同的平板,在傳感器、照相機、撥號功能的硬件支持方面可能采取的是不同策略。為了保證 App 盡量簡(jiǎn)單通用,一個(gè) APK 就能把事情搞定,最好不要調用平板上一些可能不具有的硬件功能。比如 android.hardware.telephony、android.hardware.camera、android.hardware.camera.front。如果非要調用,一定要事先聲明
android:required=”false”。
9,針對屏幕尺寸進(jìn)行聲明
為保證 App 能適用于各種平板的屏幕,在代碼的聲明部分,通過(guò)
元素一定要列舉各種屏幕尺寸。
10,在Google Play上發(fā)布App的注意事項
Google 鼓勵開(kāi)發(fā)者針對所有尺寸的設備(包括手機和平板)只發(fā)布一個(gè) APK。如果有手機和平板兩個(gè)版本,也不要建兩個(gè) Google Play 頁(yè)面,一個(gè)就夠了,否則會(huì )稀釋品牌影響力。
同時(shí),App 如果有平板上的版本,至少要在 Google Play 頁(yè)面的屏幕截圖區域,放上一張 App 在平板運行的照片,在 App 描述部分也要提到支持平板,在 App 的宣傳片包含 App 在平板上運行的鏡頭。
另外,開(kāi)發(fā)者一定要通過(guò) Google 給的 開(kāi)發(fā)者接口去查查你的 App 是否屏蔽了平板設備,確保去掉這個(gè)屏蔽。有能力的開(kāi)發(fā)者最好專(zhuān)門(mén)為 App 的平板版本做宣傳。