android-Providing Ancestral and Temporal Navigation,Putting it All Together: Wireframing the Example
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 the Back button is respected to respect Android conventions.
Before Android 3.0, the most common form of ancestral navigation was the Home metaphor.
This was generally implemented as a Home 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 selecting Home, the user would be taken to the screen at the top
of the screen hierarchy, generally known as the application's home screen.
Android 3.0 introduced the Up metaphor,
which is presented in the Action Bar as a substitute for the Homebutton 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 the Back button discussion
above), but this is not universally the case. Thus, developers must ensure that Up for
each screen navigates to a single, predetermined parent screen.
Implementation Note: As
a best practice, when implementing either Home or Up,
make sure to clear the back stack of any descendent screens. For Home, the only remaining
screen on the back stack should be the home screen. For Up navigation, the current screen
should be removed from the back stack, unless Backnavigates across screen hierarchies.
You can use the FLAG_ACTIVITY_CLEAR_TOP
andFLAG_ACTIVITY_NEW_TASK
intent
flags together to achieve this.
> Putting it All Together: Wireframing the Example APP
Now that we have a solid understanding of navigation patterns and screen grouping techniques, it's
time to apply them to our screens.
Wireframing is the step in the design process where you begin to lay out your screens. Get creative and begin imagining how to arrange UI elements to allow users to navigate your app. Keep in mind that at this point, pixel-perfect precision (creating high-fidelity mockups) is not important.
>After you're satisfied with initial sketches, it's a good idea to move on to digital wireframing using software such as Adobe® Illustrator, Adobe® Fireworks, OmniGraffle, or any other vector illustration tools. When choosing which tool to use, consider the following features:
- Are interactive wireframes possible? Tools such as Adobe® Fireworks offer this functionality.
- Is there screen 'master' functionality, allowing re-use of visual elements across different screens? For example, Action Bars should be visible on almost every screen in your application.
- What's the learning curve? Professional vector illustration tools may have a steep learning curve, while tools designed for wireframing may offer a smaller set of features that are more relevant to the task.
>Lastly, it may be time to begin implementing your designs and writing the code for the application using the Android SDK. To get started, take a look at the following resources:
- Developer's Guide: User Interface: learn how to implement your user interface designs using the Android SDK.
- Action Bar: implement tabs, up navigation, on-screen actions, etc.
- Fragments: implement re-usable, multi-pane layouts
- Support Library: implement horizontal paging (swipe views) using
ViewPager
相關文章
- android-Providing Up Navigation,Providing Proper Back NavigationAndroidNavigation
- Together
- [LeetCode] 2134. Minimum Swaps to Group All 1s Together IILeetCode
- [AtCoder] E - Putting Candies
- Spark exampleSpark
- oracle exampleOracle
- react work with angularjs togetherReactAngularJS
- 2 Why Firms Work Together
- An example of polybase for OracleOracle
- angular 2 by exampleAngular
- Oracle By Example (OBE)Oracle
- simd example code
- An example about git hookGitHook
- react router animation exampleReact
- An Example of How Oracle WorksOracle
- [Typescript] Query builder exampleTypeScriptUI
- PostgreSQL DBA(124) - Develop(Putting multiple LIKE patterns into an array)SQLdev
- The trees stand together with ability ranks and rune words
- How PCTFREE and PCTUSED Work Together(十)
- ABAP webdynpro的view navigation和WebUI的view navigationWebViewNavigationUI
- A example that using JQuery clonejQuery
- a simple example for spring AOPSpring
- An Application Context exampleAPPContext
- WPF Button MouseEnter and MouseLeave together play as MouseOver
- Codeforces Round #676 (Div. 2) B. Putting Bricks in the Wall
- Jetpack 之 Navigation 初探JetpackNavigation
- 【RabbitMQ】direct type exchange example in golangMQGolang
- 【RabbitMQ】topic type exchange example in golangMQGolang
- 【RabbitMQ】fanout type exchange example in golangMQGolang
- openni example NiViewer opengl blockViewBloC
- Common threads: Awk by examplethread
- Amazing Algorithms with NoSQL: A MongoDB ExampleSQLMongoDB
- JDBC Connection Pool Example (轉)JDBC
- Bitmap Index Example (223)Index
- Example: How to Packetize a TCP Stream (轉)TCP
- HarmonyOS:Navigation元件的使用Navigation元件
- 論文閱讀 Inductive Representation Learning on Temporal Graphs
- DB2的Temporal表和Time Travel QueryDB2