我正在使用 Appcloud 制作一个 android 应用程序。我的问题是,我设置了“页面”,所以它只是一个图片链接 (HTML),它会将您发送到一个新页面(HTML 文件)我知道有更好的方法来做到这一点。我问过某人,他们说使用 Jquery Mobile 在页面之间进行转换。1. 如何使用 AppCloud 设置 Jquery Mobile。2. 使用 Jquery Mobile 进行页面和转换的最佳方式是什么。谢谢!
1 回答
在这篇回复中,我假设您对 App Cloud 有所了解,对 jQuery Mobile 以及 JavaScript/jQuery 有所了解。答案会有点长,但如果不假设其中一些知识,它会更长。
问题 1:如何使用 App Cloud 设置 jQuery Mobile。
这很简单。您需要包含这两种技术的 CSS 和脚本。我已经将它用于标题并成功了。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="bc-manifest" content="manifest.json" />
<title>App Cloud</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script type="text/javascript" src="javascripts/lib/brightcove-app-cloud-1.12.min.js"></script>
<script type="text/javascript" src="javascripts/views/appcloud.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
</head>
<body>
…
问题 2:使用 Jquery Mobile 进行页面和转换的最佳方式是什么。
我将以两种方式回答这个问题。如果您不使用 jQuery Mobile (jQM),则为第一种方式,如果您使用的是第二种方式。由于您正在寻找一种进行转换的方法,因此您不必使用 jQM,因为 App Cloud 中内置了页面转换。
在标准 App Cloud 中,您希望将每个 HTML 页面创建为 App Cloud 视图。粗略地说,视图是应用程序的可导航部分,对应于 HTML 页面。视图可以包含多个逻辑页面。例如,一个视图可以包含一个页面,该页面显示一个项目列表以供点击选择,然后另一个页面显示点击项目的详细信息。在页面之间转换时,App Cloud API forwardPage() 方法内置了转换,默认为 SLIDE_LEFT。此场景中的页面使用 App Cloud 的 CSS 来使用 class 属性定义页面,如下所示:
<section id="pageone" class="page">`
如果您将 App Cloud 与 jQM 一起使用,那么您很可能正在使用 jQM 的导航工具。我仍然会在 jQM 中使用 App Cloud 视图,但 jQM 中的逻辑页面是使用 jQuery 的 CSS 定义的,而不是 App Cloud 的。与 App Cloud 一样,jQM 将多个逻辑页面放在一个 HTML 文件中,使用 jQuery 的标准工具(包括 jQM 的转换)导航到这些逻辑页面不是问题。
问题正在更改为 App Cloud 视图。通常在 jQM 中,您会使用 an 转到页面,但在 App Cloud 下,这将导致打开一个模式窗口并且您会离开您的应用程序,这很可能是您不想要的。相反,在仍然使用锚标记的同时,删除 href,如下所示:
<a rel="external" data-role="button" class="mainNavTargetBC">
我添加了 mainNavTargetBC 类,然后在 JavaScript 中你可以监听链接上的点击事件,如下所示:
$("body").on( "tap", ".mainNavTargetBC", topNavClickedBC);
然后,在事件处理程序中,您可以使用 navigateToView() 方法转换到新的 App Cloud 视图,如下所示:
bc.device.navigateToView("brightcove.html");
就这样。使用标准 App Cloud 和 jQM 的页面转换。回顾一下,App Cloud 中内置了页面转换,但如果使用 jQM,请使用它们的转换。