在我的html5游戏中,我有一个登录字段,因此当用户输入文本字段(用户名和密码)时,android键盘会弹出屏幕上的软键(其中有back按钮和menu按钮)。
当使用crosswalk构建我的应用程序时,我在清单中将显示设置为全屏,并且它工作正常,除了这个登录屏幕带回了软按钮。我对原生android编码一无所知,不知道是否可以通过javascript的API调用再次隐藏这些按钮。
html的缩放是通过html中的元视口来完成的,并且游戏的行为类似于浏览器。
var scale = screen.availWidth/1024;
var vp = document.querySelector("meta[name='viewport']");
vp.setAttribute("content","width=device-width, user-scalable=no, initial-scale="+scale);我试着用画布请求全屏显示,但画布的大小并没有占据整个屏幕,而且看起来又很糟糕。
有没有什么建议我应该如何继续,或者我应该阅读哪篇文章或直接解决方案?
另外,如果您需要更多信息或代码,请让我知道。谢谢!
发布于 2015-04-22 22:56:43
我也遇到过类似的问题。
您可以通过从JavaScript代码中请求它来再次使其全屏显示。您可以使用screenfull.js库:
if (screenfull.enabled) {
screenfull.request();
}这对我的项目来说太复杂了,所以我最终没有使用全屏模式,但我在我的Crosswalk/template/AndroidManifest.xml文件中添加了新的属性:
android:windowSoftInputMode="adjustPan"这样,当弹出软键盘时,我的应用程序不会缩小。
发布于 2016-09-07 04:20:07
我使用cordova-plugin-fullscreen和以下代码解决了类似的问题:
if (typeof(AndroidFullScreen) != 'undefined') {
console.info("AndroidFullScreen is defined");
AndroidFullScreen.immersiveMode(
function(){
console.info("AndroidFullScreen.immersiveMode success");
}, function(){
console.info("AndroidFullScreen.immersiveMode error");
});
}https://stackoverflow.com/questions/29366620
复制相似问题