Xpage移动开发(三)

上一篇:Xpage移动开发(二)

      马来西亚说隐瞒失航客机MH370的真相是为了国家安全……我想他们这么做,只会让全世界都感觉到不安全。好吧, 通过第二章的学习(如果你对前两章的Xpage一无所知,那么请赶紧回复“Xpage”,然后去看看吧),我们可以看到通过使用Xpage Extlib来开发移动应用是多么简单的事情,可以帮助企业很快地将传统应用转变为移动设备应用。移动设备应用开发目前有多火,相信我不说你也清楚。
      不过,接下来的内容就十分枯燥乏味了,绝对不是我写得不好,而是这些内容本身就是这样的,所以你要提前做好个心理准备
      既然我们要开发一个好的移动应用,那么必须首先来认识一下Xpage Extlib中的移动控件有哪些,第二章我们拖动了三个控件,你还记得吧:
      Single Page Application 控件
      Pages控件
      Page Heading控件
      在Source中你可以很清楚地看到它们所对应的标签
      Single Page Application control (xe:singlePageApp)
      Pages controls (xe:appPage)
      Page Heading control (xe:djxmHeading).

      这些控件都是已经设计好的,提供和你的移动设备内置应用一样的功能和外观体验,下面我们先来介绍一下几个重要的移动控件:

      1、 Single Page Application控件:它就是一个容器,一个根容器,如果你的应用是一个房间,那么它就是主体框架。它包含所有构成移动应用的其他部件,也就是说, 所有的其他控件都必须包含在Single Page Application控件里,说得简单点,其他的控件都可以比喻成房间或家具,都并且放置于这个Single Page Application房子里面。它的属性很少,并且最重要的就是selectPageName属性,对的,你必须在selectPageName属性中 设置一个Mobile Pages控件名字;当你设置好了以后,你一打开手机界面,就会自动显示Mobile Pages里面的内容;就好比你一进一栋房子的大门就能看到一个客厅,当然有的人比较怪异,让人一进去房子里就看到厨房或厕所,这也是可以的。
      2、 Mobile Pages控件:移动应用中的每一个显示页面都是Mobile Pages;多个Mobile Pages可以包含在一个Single Page Application控件中,如果你还是搞不清楚,那么这些Mobile Pages控件可以比喻成房子里的各个房间。你一定还记得我说过,Single Page Application控件可以通过设置selectPageName属性来默认显示某一个Mobile Pages控件,那么多个Mobile Pages控件之间是怎么切换的呢?很简单,通过给定的appPageId,每个Mobile Pages控件都可以给定一个id,在Xpage文件名后面加上一个这个id即可,但是id和URL之间要加上一个#号,比如你切换到某个页面应该是这样 的:mobileHome.xsp#document。这好比你给你的每一个房间都取上一个名字如苦雨斋、静心庵,然后走到不同的房间里去的时候只需要输 入:我家#苦雨斋、我家#静心庵之类。
      3、 Page Heading控件:每一个移动应用上都应该有一个标签,告诉你在哪个位置,不仅仅不如此,有时候你希望应用的标题位置还有个吧按钮,比如“返回”、“取消”等等,那么也是可以包含在Page Heading控件中的,如下图标记位置

       这么一说,你肯定觉得Page Heading控件应该把操作栏和标题栏结合到一块的一个容器。没错,这种观点是对的,它也是容器。
       4、 如果我们的控件只有三个肯定会很惬意,但是遗憾地告诉你,为了丰富功能,控件当然是越多越好……所以我们还得继续学下去,下面由请Rounded List君出场,这个控件怎么说呢?好吧,也是一个容器,如果你的数据文档要显示或给人编辑,那么就放到这里来,是的,它提供了一个文档访问的场所。此君 有点怪僻,它的四个边角是圆的。见下图

       5、Static Line Item控件,这个控件极有意思,它其实是一个Dojo控件,此君的主要作用就是链接,从一个页面链接到另一个页面,它有个“moveTo”属性就专门来干这个的,来看看就知道:

      6、Mobile Switch控件,Mobile Switch君可不是来定向链接的,它提供了一个开关按钮,允许用户根据某个值来动态地显示某些内容,好了,还看图大家才能恍然大悟:

      7、 Tab Bar控件。我快讲完了,真的。诸君先坚持一会儿。这个控件其实也是一个容器,用来Tab Bar Button控件,Tab Bar Button你应该懂的,就是一堆按钮,至于这些按钮有什么作用,是需要你自己来决定的,这些按钮通常都会被设计位于屏幕的底部,如下图:

     这些按钮跟什么移动设备平台没有关系,全部都是你自己设计的,不好看,对不?我也觉得,所以我们可以将Tab Bar的barType属性设置为“segmentedControl”,那么再来看看:

     还有这样的:

      8、Tab Bar Button控件。我想我不讲这个Tab Bar Button控件,大家估计也没有什么意见,但是怕别人说我虎头蛇尾,所以还是说一说。这个控件只能放在Tab Bar里面,否则就没有作用了。

好了,所有的控件都讲完了,我终于松了一口气,工欲善其事,必先利其器,既器已利,那么我们就准备进行最重要的工作了吧。下一章,我们就来讲述具体的设计过程。敬请期待。

本文来自于艾威培训

转载请注明:https://www.avtechcn.cn/share/itpxwiki/646.html