Providing Ancestral and Temporal Navigation 设计高效的应用导航
来源:互联网 发布:mysql数据库无法写入 编辑:程序博客网 时间:2024/06/05 19:00
Now that users can navigate deep into the application's screen hierarchy, we need to provide a method for navigating up the hierarchy, to parent and ancestor screens. Additionally, we should ensure that temporal navigation via theBack button is respected to respect Android conventions.
Back/Up Navigation Design
For design guidelines, read Android Design's Navigation pattern guide.
Support Temporal Navigation: Back
Temporal navigation, or navigation between historical screens, is deeply rooted in the Android system. All Android users expect theBack button to take them to the previous screen, regardless of other state. The set of historical screens is always rooted at the user's Launcher application (the phone's "home" screen). That is, pressingBack enough times should land you back at the Launcher, after which the Back button will do nothing.
Applications generally don't have to worry about managing the Back button themselves; the system handlestasks and the back stack, or the list of previous screens, automatically. TheBack button by default simply traverses this list of screens, removing the current screen from the list upon being pressed.
There are, however, cases where you may want to override the behavior for Back. For example, if your screen contains an embedded web browser where users can interact with page elements to navigate between web pages, you may wish to trigger the embedded browser's defaultback behavior when users press the device's Back button. Upon reaching the beginning of the browser's internal history, you should always defer to the system's default behavior for theBack button.
Provide Ancestral Navigation: Up and Home
Before Android 3.0, the most common form of ancestral navigation was the Home metaphor. This was generally implemented as aHome item accessible via the device's Menu button, or a Home button at the top-left of the screen, usually as a component of the Action Bar (pattern docs at Android Design). Upon selectingHome, the user would be taken to the screen at the top of the screen hierarchy, generally known as the application's home screen.
Providing direct access to the application's home screen can give the user a sense of comfort and security. Regardless of where they are in the application, if they get lost in the app, they can selectHome to arrive back at the familiar home screen.
Android 3.0 introduced the Up metaphor, which is presented in the Action Bar as a substitute for theHome button described above. Upon tapping Up, the user should be taken to the parent screen in the hierarchy. This navigation step is usually the previous screen (as described with theBack button discussion above), but this is not universally the case. Thus, developers must ensure thatUp for each screen navigates to a single, predetermined parent screen.
In some cases, it's appropriate for Up to perform an action rather than navigating to a parent screen. Take for example, the Gmail application for Android 3.0-based tablets. When viewing a mail conversation while holding the device in landscape, the conversation list, as well as the conversation details are presented side-by-side. This is a form of parent-child screen grouping, However, when viewing a mail conversation in the portrait orientation, only the conversation details are shown. TheUp button is used to temporarily show the parent pane, which slides in from the left of the screen. Pressing theUp button again while the left pane is visible exits the context of the individual conversation, up to a full-screen list of conversations.
Implementation Note: As a best practice, when implementing eitherHome or Up, make sure to clear the back stack of any descendent screens. ForHome, the only remaining screen on the back stack should be the home screen. ForUp navigation, the current screen should be removed from the back stack, unlessBack navigates across screen hierarchies. You can use the FLAG_ACTIVITY_CLEAR_TOP
andFLAG_ACTIVITY_NEW_TASK
intent flags together to achieve this.
- Providing Ancestral and Temporal Navigation 设计高效的应用导航
- android-Providing Ancestral and Temporal Navigation,Putting it All Together: Wireframing the Example
- Providing Descendant and Lateral Navigation 提供下一代和横向导航
- Implementing Ancestral Navigation 实现原始导航
- Android Providing Up Navigation 提供向上的导航
- Android Providing Up Navigation 提供向上的导航
- Implementing Temporal Navigation 实现时间导航
- android-Providing Up Navigation,Providing Proper Back Navigation
- android-Planning for Multiple Touchscreen Sizes,Providing Descendant and Lateral Navigation
- #UWP#导航(navigation)的实现
- navigation导航中导航栏的设置
- ios自定义导航navigation,设置navigation的背景图,navigation左边按钮,以及navigation字体颜色
- Android最佳实践之高效的应用导航
- 推荐25个非常高效的网站导航设计
- 10.1_Android Training 学习笔记_设计高效的导航
- Android 平板应用隐藏状态栏和底下的导航栏(navigation bar)
- jsf 的导航演示(navigation)
- Android的导航抽屉---Navigation Drawer
- 字符串拼接方式(待商榷)
- 理解Ext.data.JsonStore 对象
- sicp 习题2.29
- PrepareStatement 中文参数 ?问题
- Oracle数据库设计三范式
- Providing Ancestral and Temporal Navigation 设计高效的应用导航
- C++实现队列
- Flashback Database
- sqlite 建索引 ,建临时表
- Putting it All Together: Wireframing the Example App 把APP例子用线框图圈起来
- 了解MAC码
- 2001:成绩转换
- ubuntu的.profile错误,无法进入系统
- hdu 1034 (模拟)