2015-03-31 64 views
2

在我的html5遊戲中,我有一個登錄字段,因此當用戶輸入文本字段(用戶名和密碼)時,android鍵盤會與屏幕上的軟鍵一起彈出(其中後退按鈕和菜單按鈕存在)。crosswalk-project 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); 

我沒試過我的畫布,要求全屏幕和它的作品,但在畫布的大小沒有采取整個屏幕並再次很糟糕。

關於我應該如何進行或我應該閱讀哪篇文章或直接解決方案的任何建議?

此外,如果您需要更多信息或代碼,請告訴我。謝謝!

回答

0

我有類似的問題。

您可以通過從您的JavaScript代碼中請求全屏來重新進行全屏。您可以使用screenfull.js庫:

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

這是複雜,我的項目,所以我最終沒有使用全屏模式,但我已經在我的人行橫道/模板/ AndroidManifest.xml文件添加新的屬性:

android:windowSoftInputMode="adjustPan" 

這樣,當軟鍵盤彈出時,我的應用程序不會縮小。

+0

請求全屏元素「document.documentElement中」解決了這個問題。 – L4reds 2015-04-22 15:27:40

0

我解決了使用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"); 
      }); 
    }