1

各行に1つのテキストビューとウェブビューがあるリストビューがあります。ビューホルダー オブジェクトを使用して、スクロール中に行を再利用しています。最初は、データは webview に読み込まれておらず、その可視性の状態は Gone に設定されています。ListView アイテムをタップすると、webview.loadDataWithBaseURL() メソッドを使用して webview データを読み込み、可視状態を Visible に設定します。次に、同じアイテムをもう一度タップすると、その状態は Gone に設定されます。問題は、webview の可視性を Visible にリセットしてデータを再度読み込むと、webview のコンテンツが画面に収まらないことです。webview コンテンツに次のメタ タグを設定しました。

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, target-densityDpi=device-dpi>

また、以下のメソッドを設定しました。

webview.getSettings().setUseWideViewPort(true); webview.getSettings().setLoadWithOverviewMode(true);
webview.setInitialScale(1);

この設定は、アイテムタップで最初に webview データをロードするときに正常に機能します。しかし、次に可視性を切り替えてデータを再度ロードすると、上記のビューポート設定が機能しません。

誰でも同じことを手伝ってください。

4

1 に答える 1

0

あなたの質問はあまり明確ではありませんが、ウェブビューが画面全体に収まるように拡大されていないことを意味していると思いますか? 質問をサポートするためにコードを投稿してください。

Web ビューを画面全体に拡張するには、アクティビティ レイアウト xml に Web ビューを追加し、layout_width と layout_height を fill_parent に設定してください。簡単な例を次に示します。

     <LinearLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <WebView  
      android:id="@+id/webview"
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"/>
  </LinearLayout>
于 2013-05-03T05:53:54.333 に答える