本篇文章主要介绍了"Android最佳实践之设计高效的应用导航(四)- 向上导航和时间导航",主要涉及到方面的内容,对于Android开发感兴趣的同学可以参考一下:
原文地址:http://developer.android.com/training/design-navigation/ancestral-temporal....
原文地址:http://developer.android.com/training/design-navigation/ancestral-temporal.html#ancestral-navigation
既然用户可以沿着视图的层级向下导航到一级一级,那么我们也需要提供一个方法向上导航返回他的父界面一直到最上面。另外我们还要确保时间导航遵守Android的规则。
支持时间导航-回退
时间导航,或者说历史界面之间的导航,是深深扎根于Android系统之中。所有的Android用户期望通过Back按钮回到前面的界面。按Back键我们总是可以回到系统桌面的,再按就没有效果了。

图1:Back按钮的行为
系统已经自动处理了Back键的行为,我们不用担心。Back按钮的默认行为是返回上一个界面。
但有时候我们需要重写Back的方法,改变他的默认行为。比如,界面中包含有一个WebView,我们希望Back按钮的行为是返回上一个网页,这时就需要人为去控制它,否则他会直接关闭当前界面。
提供向上导航 - 向上(up)和Home桌面(home)
能够直接返回桌面,是一种能让用户感觉到舒服和安全的设计。无论用户在哪个app的哪个界面,他都可以通过Home键直接返回到最上层的桌面。
Android3.0提出了Up的说法,来替代上面说的Home键的功能。通过点击上一级(Up),用户能够返回视图层级的上一级(就像上面描述的Back键的功能一样),但这并不是很普遍的情况,因此,开发者应该确保Up能使界面返回到上一个简单的可呈现的父界面上。

图2:从联系人App进入邮件App的Up导航示例
在一些情况下,使用Up导航比Back返回到父界面更适合。例如,在基于Android3.0的平板上的Gmail的app,横屏时一般左边是邮件List,右边是邮件详细,是一个典型的父 /子的设计,也是上一课描述的。当竖屏看时,我们只看到邮件的详细界面,Up按钮用来临时显示他的父界面,也就是从屏幕左边划出来的列表Panel。再点一下Up按钮,当左边部分显示后,会退出单个的邮件会话,邮件列表会全屏显示。
最后最佳实践,不管是使用Home导航还是Up导航,请确保会清掉栈里的View。在Home模式下,最终保留的界面就是Home界面。对于Up导航,当前界面应该从Back栈里清除,除此之外,导航横穿当前视图层级进入另一个。你可以使用FLAG_ACTIVITY_CLEAR_TOP 和FLAG_ACTIVITY_NEW_TASK一起来实现这个。
在最后一课中,我们将应用到目前为止所有课中讨论的概念为我们的创建一个交互设计线框图新闻App示例。
').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('
').text(i));
};
$numbering.fadeIn(1700);
});
});
以上就介绍了Android最佳实践之设计高效的应用导航(四)- 向上导航和时间导航,包括了方面的内容,希望对Android开发有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_280486.html