1

我有一个列表视图,其中每一行都有一个 textview 和 webview。通过使用 viewholder 对象,我在滚动时重新使用了该行。最初,数据未加载到 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

你的问题不是很清楚,但如果我猜你的意思是 webview 没有扩展到适合整个屏幕?请发布您的代码以支持您的问题。

要使 webview 扩展到整个屏幕,请在活动布局 xml 中添加 webview,并确保将 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 回答