0

Phonegap Desktop App でアプリを作成しており、Phonegap Build を使用することもありますが、サイトがディスプレイと同じ大きさであることに気付きました。

問題:たとえば、さまざまなデバイスにステータス バー (時計、バッテリー ステータスなど) があり、たとえば、Nexus には、アプリケーションの上に表示される制御ボタンを備えた下部バーさえあります。私の (css position:fixed) ナビゲーション バーは、これらのデバイス ネイティブ バーの下でスクロールしています。

これを拒否する方法、またはこれらのバーを差し引く方法はありますか? コスチューム スタイルやスタイリング ライブラリが含まれていない場合でも、これを見ることができます。

HTML

<html>
  <head>
    <meta charset="utf-8" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="msapplication-tap-highlight" content="no" />

    <meta name="viewport" content="user-scalable=no, initial-scale=1,
    maximum-scale=1, minimum-scale=1, width=device-width, 
    height=viewport-height, target-densitydpi=device-dpi" />

    <title>Streetreporter</title>
    <!-- jQuery library -->
    <script src="libs/jQuery/jquery-1.12.4.js" type="text/javascript"></script>
    <script type="text/javascript" src="cordova.js"></script>
  </head>
  <body >        
      TO DO content  
    <script type="text/javascript" src="js/index.js"></script>
  </body>
</html>

CONFIG.xml ## 短縮

<?xml version="1.0" encoding="UTF-8"?>

<!-- config.xml reference: https://build.phonegap.com/docs/config-xml -->
<widget xmlns     = "http://www.w3.org/ns/widgets"
        xmlns:gap = "http://phonegap.com/ns/1.0"
        id        = "app.streetreporter"
        version   = "0.1.0">

    <name>Streetreporter+Camera API Test</name>

    <description>
        Hello World sample application that responds to the deviceready event.
    </description>

    <author href="http://phonegap.com" email="support@phonegap.com">
        PhoneGap Team
    </author>
    <content src="index.html"/>
    <preference name="permissions"                value="none"/>

    <preference name="orientation"                value="default" />        
    <preference name="target-device"              value="universal" />     
    <preference name="fullscreen"                 value="true" />          
    <preference name="webviewbounce"              value="true" />          
    <preference name="prerendered-icon"           value="true" />       
    <preference name="stay-in-webview"            value="true" />        
    <preference name="ios-statusbarstyle"         value="black-opaque" />   
    <preference name="detect-data-types"          value="true" />         
    <preference name="exit-on-suspend"            value="false" />        
    <preference name="show-splash-screen-spinner" value="true" />          
    <preference name="auto-hide-splash-screen"    value="true" />          
    <preference name="disable-cursor"             value="false" />          
    <preference name="android-installLocation"    value="auto" />           

</widget>
4

2 に答える 2

2

まず、私はそのようなものに出くわしたことはありません。これは nexus に関するものだけでしょうか?

ビューポート設定で、問題はビューポートの高さだけにあるようです。

<meta name="viewport" content="user-scalable=no, initial-scale=1,
maximum-scale=1, minimum-scale=1, width=device-width, 
height=viewport-height, target-densitydpi=device-dpi" />

構成がありheight=viewport-height、通常は高さパラメーターを使用しません。問題は、削除して変更があるかどうかを確認することです。


また、これで問題が解決しない場合や、画面の一番下または一番上に固定ナビゲーションを配置したい場合は、次のようにすることができます。

コンテンツをキャリア div に取り込みます。

<div id="carrier">
  <!--your code-->
</div>

Javascript で;

window.onload = function(){
  document.getElementById("carrier").height = window.innerHeight;
}

ここで、キャリアの div の高さを表示画面の innerHeight に設定します。innerHeight と outerHeight には違いがあることに注意してください。Nexus でナビゲーションが外側の画面ビュー ナビゲーションの下にある場合、これが問題になる可能性があります。

ここに画像の説明を入力

またCSSでは、

#carrier { position:relative; overflow:scroll; }
.yourNavElem { position:absolute; bottom:0px; left:0px;}

また、ナビゲーション要素の絶対位置をキャリア要素に使用します。

それがうまくいくかどうかはわかりませんが、最新情報を入手してください。

于 2016-05-25T18:44:16.437 に答える