人行横道项目安卓全屏

Posted

技术标签:

【中文标题】人行横道项目安卓全屏【英文标题】:crosswalk-project android full screen 【发布时间】:2015-06-04 16:09:30 【问题描述】:

在我的 html5 游戏中,我有一个登录字段,因此当用户输入文本字段(用户名和密码)时,会弹出 android 键盘以及屏幕上的软键(后退按钮和菜单按钮存在)。

在使用人行横道构建我的应用程序时,我在清单中将显示设置为全屏,它工作正常,除了这个登录屏幕带回了软按钮。我对原生 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);

我确实尝试过我的画布请求全屏,它可以工作,但画布的大小并没有占据整个屏幕,而且看起来又很糟糕。

关于我应该如何进行或我应该阅读哪篇文章或直接解决方案的任何建议?

另外,如果您需要更多信息或代码,请告诉我。谢谢!

【问题讨论】:

【参考方案1】:

我使用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");
            );
    

【讨论】:

【参考方案2】:

我也遇到过类似的问题。

您可以通过 JavaScript 代码请求再次使其全屏显示。你可以使用screenfull.js库:

if (screenfull.enabled) 
    screenfull.request();

这对我的项目来说太复杂了,所以我最终没有使用全屏模式,但我在 Crosswalk/template/AndroidManifest.xml 文件中添加了新属性:

android:windowSoftInputMode="adjustPan"

这样,当软键盘弹出时,我的应用程序不会缩小。

【讨论】:

使用“document.documentElement”元素请求全屏可以解决问题。

以上是关于人行横道项目安卓全屏的主要内容,如果未能解决你的问题,请参考以下文章

javascript 全屏全屏pantalla completa F11

h5 video切换到横屏全屏

ZFPlayer iOS16 系统横屏全屏问题处理

ZFPlayer iOS16 系统横屏全屏问题处理

跳出小程序 video组件 卡顿黑屏全屏等坑

手机看视频不是全部能全屏,怎么处理?