2015-03-31 4 views
2

В моей игре html5 у меня есть поле входа, поэтому, когда пользователь вводит текстовые поля (имя пользователя и пароль), клавиатура Android появляется вместе с экранными программными клавишами (где кнопки и кнопка меню).crosswalk-project android full screen

При создании моего приложения с пешеходным переходом я установил отображение в полноэкранном режиме в манифесте, и он отлично работает, за исключением этого экрана входа, возвращающего программные кнопки. Я не знаю собственного кодирования в Android и задаюсь вопросом, можно ли снова скрывать кнопки через вызовы API из javascript.

Масштабирование html выполняется через meta viewport в 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(); 
} 

Это было сложным для моего проекта, так что я в конечном итоге не используя полноэкранный режим, но я добавил новый атрибут в моем Crosswalk/шаблон/AndroidManifest.xml файла:

android:windowSoftInputMode="adjustPan" 

Таким образом, мое приложение не будет сокращаться при всплывании всплывающей подсказки.

+0

запрашивающей полного экрана с элементом «document.documentElement» решает эту проблему. – L4reds

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"); 
      }); 
    }