- 构建跨平台APP:jQuery Mobile移动应用实战(第2版) (跨平台移动开发丛书)
- 李柯泉
- 892字
- 2024-10-30 00:11:29
5.4 导航栏的应用
不知道读者有没有接触过选项卡这种控件,相信大多数人都是接触过的。图5-14、图5-15和图5-16分别给出3种选项卡图片,让读者先了解选项卡到底是什么样的。
图5-14 Web中常用的选项卡
图5-15 Windows中的选项卡
图5-16 手机微信界面中的选项卡
看到图5-16,读者也许会提出疑问,原来这也是选项卡啊!可是这和本节标题中的导航栏有什么关系呢?
原来,在移动APP中,选项卡常常被用作一款应用的导航。如图5-16中的微信,尾部栏的导航栏就说明了微信的4大功能,即“发信息(微信)”、“通讯录”、“找朋友”和“设置”。
使用这样的导航栏(或者说选项卡)能够在手机屏幕面积有限的情况下实现更多的功能,相信大家也都深有体会,而且这种界面很重要的一个优点就是非常美观。下面就来实现这样的效果。
【范例5-6 导航栏的使用】
01 <! DOCTYPE html> <! --声明HTML 5--> 02 03 <head> 04 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <! --声明编码方式--> 05 <meta name="viewport" content="width=device-width, initial-scale=1"> 06 <! --<script src="cordova.js"></script>--> <! --备用生成APP的JS文件--> 07 <link rel="stylesheet" href="jquery.mobile.min.css" /><! -- 引入 jQuery Mobile样式--> 08 <script src="jquery-2.1.4.min.js"></script> <! --引入jQuery脚本--> 09 <script src="jquery.mobile.min.js"></script> <! --引入jQuery Mobile脚 本--> 10 </head> 11 <body> 12 <div data-role="page"> 13 <div data-role="header" data-position="fixed"> 14 <a href="#">返回</a> 15 <h1>头部栏</h1> 16 <a href="#">设置</a> 17 </div> 18 <h1>导航栏的使用 </h1> 19 <h1>导航栏的使用 </h1> 20 <h1>导航栏的使用 </h1> 21 <h1>导航栏的使用 </h1> 22 <h1>导航栏的使用 </h1> 23 <h1>导航栏的使用 </h1> 24 <h1>导航栏的使用 </h1> 25 <div data-role="footer" data-position="fixed"> 26 <div data-role="navbar"> <! --导航栏栏开始 --> 27 <ul> <! --使用ul标签--> 28 <li><a id="weixin" href="#" data-icon="plus"> 微信 </a></li> <! --使用li标签嵌套a标签即会自动生成导航栏的样式 29 <li><a id="tongxun" href="#" data-icon="plus">通讯录</a></li> 30 <li><a id="friend" href="#" data-icon="plus">找朋友</a></li> 31 <li><a id="set" href="#" data-icon="plus">设置</a></li> 32 </ul> <! --导航栏结束--> 33 </div> 34 </div> 35 </div> 36 </body> 37 </html>
运行结果如图5-17所示。
图5-17 工具栏的使用
第25~34行的内容为尾部栏,但是其中加入了一个新的标签<div data-role="navbar">。在这个标签中嵌套使用了<ul>与<li>标签,使导航栏自动被分成了4栏。
提示
并不一定要分成4栏,分栏的数目是根据标签<li>的数量决定的,但是最多不超过5栏。
实际上这种写法并不是很标准,按照jQuery Mobile API上的规定,应当在navbar控件中加入一组属性来标识导航栏分为几栏,比如本例就应当写成:
<div data-role="navbar" data-grid="c">
其中data-grid的值“c”就表示将导航栏分为4部分,那么以此类推,“a”自然就表示分为两栏。值得注意的是,当分栏数目大于5时,导航栏将自动分为多行,图5-18是jQuery Mobile对这时的导航栏外观所做的截图。
图5-18 分为10栏的导航栏
提示
虽然说导航栏的一行最多可以分成5栏,建议最好不要分这么多栏,因为在一些屏幕较小的手机上可能无法显示完整的内容。
在navbar标签中继续使用标签<a>,同样可以让标签中的内容自动渲染为按钮,但是图5-16中的按钮显然与过去印象中的按钮有所不同,因为它带上了图标(在介绍按钮的章节里还会了解到这个图标)。第28行用data-icon="plus"属性设置图标为一个加号。
jQuery Mobile给出了许多可以直接调用的图标,具体使用方法将在本书接下来的“按钮”一章中详细介绍。