首页 » Android程序设计:第2版 » Android程序设计:第2版全文在线阅读

《Android程序设计:第2版》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