讀古今文學網 > Android程序設計:第2版 > Top-Level設計 >

Top-Level設計

用戶界面的「top-level」設計涵蓋了用戶界面的可見的或可訪問的所有元素。在這裡,「所見即所得」,你所繪製的就是用戶界面所展現的。

我們將說明一個典型的Android用戶界面設計,並說明如何設計使得一份代碼能夠同時滿足以下目標:

·在平板和手機上都能夠工作,把盡可能多的用戶界面代碼放到Fragment類,並且使得Activity類做出的響應和Android系統通過佈局資源和像素密度決定的頁面展現效果一致。

·同時適用於橫向和縱向模式,在橫向模式和縱向模式使用不同的佈局來維持結果展現的簡潔性。

·顯示了Fragment對象是如何添加到Activity對像和從Activity對像中刪除,以及轉換和Fragment事務是如何在一起工作的。

·顯示了Action Bar及其項是如何組合或切分的,以及基於Fragment的佈局方式如何使用選項卡,使得用戶界面適用於平板和手機屏幕的不同尺寸。

圖11-2:程序在手機上的顯示效果

Fragment、Activity和可擴展設計

這裡,我們將通過fragment創建效果良好的用戶體驗。對於Fragment類、FragmentManager和Fragment生命週期的深度分析,請參考P199「Fragment生命週期」一節。

Fragment實例和Activity實例類似,可以添加嵌套的View對像到View層次(View hierarchy)中。但是,Fragment還可以通過直接修改XML中的佈局規範展開,或使用可視化佈局編輯器展開。

在圖11-1和圖11-2中,你會看到本章給出的應用在大小屏幕上的顯示效果。後面我們將詳細描述如何實現該效果。我們將使用「wireframe」繪圖來設計佈局以及決定如何在多個活動中為小屏幕切分用戶界面。

首先,我們先著眼於平板電腦的大屏幕佈局設計。在這種場景下,我們在思考如何把信息切分到各個小屏幕並創建導航欄之前,先考慮不同的信息類型。

通過Fragment,可以實現這種模塊化。通過實現Fragment及其View對象的交互,Fragment使得重用代碼和佈局變得很簡單,雖然用戶界面組織結構和控制流在不同尺寸的屏幕上有區別。圖11-4的線框表示在小的手機屏幕上,如何在兩個活動之間劃分圖11-3所示的用戶界面。

圖11-3:大屏幕設備的線框佈局fragment

圖11-4:小屏幕設備的線框佈局fragment