在切换其可见性时,Android Webview内容无法适应屏幕

时间:2013-04-17 18:49:32

标签: android android-listview android-webview meta-tags

我有一个列表视图,其中每行有一个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(真)。 。webview.getSettings()setLoadWithOverviewMode(真);
webview.setInitialScale(1);

当我最初在项目点按上加载webview数据时,此设置正常。但是下次当我再次切换可见性并再次加载数据时,上面的视口设置无效。

任何人都可以提供协助。

1 个答案:

答案 0 :(得分: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>