Android应用开发学习路途_全面理解Android导航原理逻辑

lhpce
lhpce 这家伙很懒,还没有设置简介...

0 人点赞了该文章 · 60 浏览

Android应用开发学习路途_全面理解Android导航原理逻辑

    Android 3.0后,体系像我们介绍了其在全局导航体现上的严重改动。全部地了解“Back”以及“Up”的导航作用以及含义,可以大大地削减用户的学习时间,用户在使用过程中很快可以学习如安在使用的各个界面间的切换。Android 2.3以及它之前的体系都是经过“Back”按钮来为app导航的。使用导航的一致性是整体用户体会的重要组成部分,假如app的导航方法不一样,用户不能很快了解,那么这个使用会让用户有很大的挫折感,大大地影响了用户体会。在安卓手机应用开发新版3.0后呈现的Actionbar则带来了另一种一致性的导航方法:“Up”,它坐落Actionbar的最左面,一般由使用的Icon以及Title组成。


    一、Up的导航逻辑
    Up的导航逻辑是根据界面的层次结构决定的。例如A界面有一个列表,点击列表的Item进入B界面,这个时候,在B界面应该要提供一个Up按钮,点击Up则应该返回到A界面。
    如果一个界面是app的主界面,则这个界面是不需要提供Up按钮的,而Back按钮在所有的界面都会起作用。
在应用中,Back的作用是返回到上一个界面中。如果把一个一个打开界面看成是入栈,那么点击Back按钮无疑代表着出栈,用户应该总是能够通过back操作找到上一个界面。
如果当前界面的上一个界面正好也是当前界面的父级界面,那么Back和Up的效果是同样的。但是,Up主要是在app内部使用,而Back则能够让用户回到手机的主界面,甚至能够回到其他的app中。
    在手机的主界面点击Gmail应用,进入到Gmail主界面中,主界面包含邮件的会话列表,点击其中一个会话会进入会话的详情界面。在会话详情页上,上一个界面和该界面的上级界面都是会话列表界面,因此点击Back和Up的效果是相同的,都会回到会话列表界面。可以发现,会话列表式Gmail的主界面,所以这个界面上是没有Up按钮的,这个时候则可以通过点击Back回到手机的主界面上。
    二、Back导航作用
    Back除了能够处理这些界面间的切换,同时它还能处理一些统一界面上的导航逻辑,点击Back能够让当前界面的对话框消失,还能解除当前界面的文字高亮,同时它还能隐藏输入键盘等。
    当一个界面有很多入口时,在这个界面点击Up按钮应该回到进入到这个界面的相关界面,这样的效果和Back回到上一个界面的效果是相同的。例如设置界面,应用中可能有很多地方能够进入设置界面,此时点击Up和Back都会返回它的上一个界面。
    如果在一个界面内切换视图,例如一个界面包含ViewPager,虽然左右滑动导致界面上的视图更改,但是此界面在app的界面层级并没有改变,同时也没有创建新的导航历史,因此这样的操作时不会引起Up和Back有新 的行为的。
在会话列表界面点击了其中一条会话,进入详情,在详情页左右滑动查看前后会话详情内容;但是此操作并没有切换界面(在app界面中的层级),因此这样并不能影响Back和Up的效果。
    然而,如果在详情页点击了某个按钮进入了另一个详情界面,并且此时创建了导航历史。这样的话,点击Back会回到该详情页的上一个界面,而点击Up则会回到该界面在app中层级的上一级界面。
我们还可以让导航更加智能,比如我们在某个种类的列表界面点击Item进入详情页跳转到另一种类型的详情页,这时点击Back界面会转到上一个详情页,而点击Up则会返回到这种类型的列表页。
    三、Back和Up的不同作用与目的
   用户进入到App,切换不同的界面,每个界面都会被加入到一个栈里,通常情况下Back的作用是返回到栈中的上一个界面;而Up与这个栈没有直接关系,除了应用主界面,其他界面都会有一个父级界面,Up的作用正是返回到当前界面的父级界面。
    然而,有些情况为了让Back的效果有更好的可预测性,我们应到手动向Back的界面栈中添加界面,这样用户就能更清楚是如何进入到当前界面的。例如,当点击安卓应用设计桌面上的Widgets进入到一个非app主界面中,如果没有向界面栈中手动插入app的主界面,点击返回就直接退到了手机Home界面,这样的体验不太好;因此我们会做手动向栈中插入界面的操作。
    四、跨应用导航
    在同一个App中Back和Up各司其职,有相同的地方也有不同的地方;而在夸应用的情况下,Back和Up有更多的不同之处。要知道Back和Up跨App的导航效果,首先要知道下面三个概念:
    1、Activities:我们都知道,一个Activity是一个展示信息界面与用户交互的应用组件,而一个app可以看成包含多个activities的集合;而这些activities可以是app自身定义的也可以是对其他app中activity的重用;
    2、Task:Task表示用户一次完整操作的流程。例如用户打开某个应用,在应用的某个界面中点击分享内容,选择通过邮件方式分享;这样的一个过程称为task,可以看到这个过程是跨app的,这次task包含多个activities;
    3、Intent:Intent表示界面跳转的意图,可以指定界面跳转,也可以根据界面支持的action跳转。例如系统中“Share”这个Intent,它会列出系统中所有支持分享的app;
    五、案例分享
    用户在某个界面点击共享,跳转到Gmail中共享内容,这个进程是一个task,此刻假如点击Back,则会回来到之前的app中;而假如点击Up,则会留在Gmail中,并且跳转到Gmail的主界面(当时界面的父级界面),这个进程是一个新的task。这个新的task会把老的task给覆盖掉,点击Back则回来体系Home界面。
    纵观全文,咱们了解到了体系引荐的导航原则。安卓开发工程师能够依照规范来,但是在咱们的app中,咱们也能够具体情况具体分析,总归一个原则即是让用户更快地学习使用app,让界面的导航有更好的可猜测性。
  网汇聚众多优秀的专业设计师和服务商团队,随时为您提供IOS应用 Android应用 IPAD应用 微信公众平台开发 手机游戏开发 应用软件开发 Windowsphone Symbian应用 应用汉化等服务,欢迎上网。


推荐

发布于 2022-09-29 17:18

免责声明:

本文由 lhpce 原创或收集发布于 火鲤鱼 ,著作权归作者所有,如有侵权可联系本站删除。

火鲤鱼 © 2024 专注小微企业服务 冀ICP备09002609号-8