【问题标题】: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);

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

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

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

【问题讨论】:

    标签: javascript android html canvas crosswalk-runtime


    【解决方案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”元素请求全屏可以解决问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多