gpt4 book ai didi

android - 在 Android 中使用时微调器不显示

转载 作者:行者123 更新时间:2023-11-29 02:04:38 25 4
gpt4 key购买 nike

我正在使用 WebViewClient 在 Android 中创建一个 Phonegap/Jquery 移动应用程序,当用户单击按钮时,我想在加载 JNI/javascript 函数时显示一个微调器。但是我无法使用下面的代码这样做。

注意: 如果我删除对 JNI/Javascript 函数的调用,则微调器会按预期显示。 Helper 是一个 java 类,它从 DroidGap onCreate() 方法注册为 appView.addJavascriptInterface(helperObject, "Helper");

此外,如果复制粘贴为 .html 并通过浏览器浏览将起作用(当然我当时也没有调用 JNI/Javascript 函数)意味着它会显示微调器,前提是我有 sleep() 时间。但是,当我使用 Android 时,它不显示。 index.html 位于 assets/www 文件夹中。

<head>
<title>Employee Finder</title>

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/ui/1.8.20/jquery-ui.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
<script type="text/javascript" src="http://fgnass.github.com/spin.js/spin.js"></script>
<!-- <script src="phonegap-1.3.0.js"></script> -->
<script>

$(document).ready(function() {

$('#findemp').click(function() {
var empNumber = $("#employeenumber").val();
showSpinner();

var empdetail = JSON.parse(window.Helper.getEmpDetails(empNumber));
//Above call takes 3-4 sec and is a JNI call meaning calling a java function.

hidespinner();
});
});

function showSpinner()
{
var opts = {
lines: 13, // The number of lines to draw
length: 7, // The length of each line
width: 4, // The line thickness
radius: 10, // The radius of the inner circle
rotate: 0, // The rotation offset
color: '#000', // #rgb or #rrggbb
speed: 1, // Rounds per second
trail: 60, // Afterglow percentage
shadow: false, // Whether to render a shadow
hwaccel: false, // Whether to use hardware acceleration
className: 'spinner', // The CSS class to assign to the spinner
zIndex: 2e9, // The z-index (defaults to 2000000000)
top: 'auto', // Top position relative to parent in px
left: 'auto' // Left position relative to parent in px
};
var spinner = new Spinner(opts).spin();
$("#loading").append(spinner.el);
}

function hidespinner(){
$('.spinner').hide();

}
</script>


</head>
<body>

<div data-role="page" id="page1">
<div data-role="header">
<h1>Find Employee Data</h1>
</div>

<div data-role="content" id="searchDetails">
<input name="employeenumber" type="text" id="employeenumber" placeholder="Employee Number" min="13"/>
<input type="button" id="findemp" data-theme="b" value="Find Employee"/>
<div id="loading" ></div>
</div>

<div data-role="footer">
<h4>Page Footer</h4>
</div>
</div>

<div data-role="page" data-theme="b" data-add-back-btn="true" id="page2">
<div data-role="header">
<h1>Page Two</h1>
</div>
<div id="empDetails">
<p><b>Name: </b></p><p id="name"></p>
</div>
<div data-role="footer">
<h4>Page Footer</h4>
</div>
</div>
</body>
</html>

最佳答案

Spin.js 没问题,但如果您已经在使用 JQuery 移动版,则最好使用内置的微调器。

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>

在标题中,然后:

$.mobile.loadingMessageTextVisible = true;
$.mobile.loadingMessage = "please wait...";
$.mobile.showPageLoadingMsg();

显示内置的 jquery 移动微调器。

$.mobile.hidePageLoadingMsg();

隐藏移动微调器。

关于android - 在 Android 中使用时微调器不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10708035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com