9

Windows Phone 7 用の PhoneGap/Cordova ベースの HTML5 アプリケーションのいくつかの例を調べて見つけましたが、いずれもパノラマまたはピボット スタイル アプリの作成方法を示しているようには見えません。 OSのUI。私は次のように動作するアプリを構築しようとしています:

パノラマ:

Windows Phone 7 パノラマの例

ピボット:

Windows Phone 7 ピボットの例

プレーンな HTML5、CSS3、および JS を使用してこれらのアプリを構築し、PhoneGap Build を使用してそれらをデプロイしたいと考えています。Visual Studio を使用したくありません。VS はパノラマ レイアウトまたはピボット レイアウト用に 2 つの個別のコントロールを提供しますが、HTML5 では、最初の「2 番目の項目」ページのようなマルチスクリーン列を可能にする微調整により、両方に使用できる 1 つのスライダー コントロールのみが必要です。例。

また、微調整できる IE9 互換の jQuery スライダー プラグインをいくつか探しましたが、それらの 90% は機能せず、残りは少し違いすぎて適応できませんでした。たとえば、このjQuery ページ スライド (横向き) トランジションはすべてのブラウザーで正常に機能しますが、WP7 ブラウザーでは基本的なスライド アップ タイプの効果に低下します。

複数の OS をターゲットにしていますが、すべての OS で同じインターフェイスを複製したくありません。データソースは共通ですが、各OSでネイティブに設計されたアプリケーションのように見せたいです。

更新 1:

WP7 上の IE Mobile のタッチ イベントに実際に応答するスクローラー/スライダー プラグインを見つけましたが、各パネルの端にスナップしません。これは、パノラマ/ピボット コントロールの重要な側面です。

また、スワイプ/タップイベントを検出するための Swipe というプラグインを持つXUIもチェックアウトしましたが、「xui-ie-2.3.2.min.js」を使用しても、サンプルは IE Mobile でまったく何もしません。

更新 2:

このようなものを見つけるのに最も近いのは、有望なjqMetroアドオンです。パノラマ、ピボット、ネイティブ風のコントロールを含む完全な Metro スタイルを提供しますが、最も皮肉な部分は、スワイプ機能が IE Mobile では機能しないことです。つまり、PhoneGap のアプリケーションでは機能しません。 . ピボット見出しをタップすると機能し、そのビューに問題なく切り替わります。

更新 3:

ハイブリッド アプリの開発を完全に断念しました。:-)

4

3 に答える 3

3

返事が遅れて申し訳ありません。私もこの問題に遭遇しました。ここに私の解決策があります:

wp8のIE10で動作し、wp7でも動作するはずです

于 2013-03-27T03:00:53.343 に答える
2

デフォルトでは、PhoneGap 内でパノラマを実行することはできません。機能する x-compat js-lib を見つけることができるかもしれませんが、Windows Phone Panorama ほど見栄えの良いものは見たことがありません。

ただし、パノラマ内に複数の PhoneGap ページを含めることができます。方法をお見せしましょう。このソリューションは x-plat と互換性がないことに注意してください。

パノラマの複数の電話ギャップ

最新の phonegap をプルダウンして、このリンクに従って設定します - [ http://docs.phonegap.com/en/2.2.0/guide_getting-started_windows-phone_index.md.html#Getting%20Started%20with%20Windows%20Phone ]。

新しいプロジェクトを作成し、「pgpanoramaplay」などの名前を付けます。

「\www\index.html」を「\www」ディレクトリ内の少なくとも 2 つの他のファイルにコピーします。「30tolaunch.html」、「dfwiki.html」、「devfish.html」という名前を付けました。

基本的な内容を示すためだけにコンテンツをマークアップします。私の "\www\30tolaunch.html" の場合、変更された html 本文は以下のとおりです。

<body>
    <div class="app">
        <h1>30tolaunch</h1>
        <div>
            <p>30 Days to Launch an App</p>
            <p>Great content</p>
            <a href="http://bit.ly/30tolaunch">bit.ly/30tolaunch</a>
        </div>
    </div>
    <script type="text/javascript" src="cordova-2.2.0.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
    <script type="text/javascript">
        app.initialize();
    </script>
</body>

プロジェクトを [右クリック] し、パノラマ アイテムを追加します。PanoramaPage1.xaml の既定の名前を使用します。

PanoramaPage1.xaml をスタートアップ オブジェクトとして使用するように wmmanifest1.xaml を変更します。

PanoramaPage1.xaml を開きます。次のように、ページの上部を変更して、phone ギャップへの参照を取り込みます。

PanoramaControl を次のように変更します。すでに存在していた item.html を除いて、すべての .html pagex を手動で作成したことに注意してください。

<Grid x:Name="LayoutRoot">
    <controls:Panorama Title="phonegap">
        <!--Panorama item one-->
        <controls:PanoramaItem Header="30tolaunch">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>
                <my:CordovaView HorizontalAlignment="Stretch" 
                    Margin="0,0,0,0"  
                    x:Name="PGView4" 
                    VerticalAlignment="Stretch"
                    StartPageUri="/app/www/30tolaunch.html"
                />
            </Grid>
        </controls:PanoramaItem>

        <!--Panorama item one-->
        <controls:PanoramaItem Header="index">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>
                <my:CordovaView HorizontalAlignment="Stretch" 
                    Margin="0,0,0,0"  
                    x:Name="PGView" 
                    VerticalAlignment="Stretch"
                />
            </Grid>
        </controls:PanoramaItem>

        <!--Panorama item two-->
        <controls:PanoramaItem Header="item2">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>
                <my:CordovaView HorizontalAlignment="Stretch" 
                    Margin="0,0,0,0"  
                    x:Name="PGView2" 
                    VerticalAlignment="Stretch"
                    StartPageUri="/app/www/devfish.html"
                />
            </Grid>
        </controls:PanoramaItem>

    <controls:PanoramaItem Header="item3">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>
                <my:CordovaView HorizontalAlignment="Stretch" 
                    Margin="0,0,0,0"  
                    x:Name="PGView3" 
                    VerticalAlignment="Stretch"
                    StartPageUri="/app/www/dfwiki.html"
                />
            </Grid>
        </controls:PanoramaItem>
    </controls:Panorama>
</Grid>

Debug, Go を実行すると、この記事の冒頭の写真のようなページが表示されるはずです。

パノラマの背景に合わせて PhoneGap ページのスタイルを設定したい場合は、高さを調整したり、背景画像を削除したりします。default.css はあなたの友達です。マークアップしてお楽しみください!

于 2012-12-11T22:13:25.213 に答える