【发布时间】:2012-03-15 10:54:33
【问题描述】:
我必须将 WebView 放入 ScrollView。但是我必须在 webview 之前将一些视图放入同一个滚动视图中。所以它看起来像这样:
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:id="@+id/articleDetailPageContentLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/articleDetailRubricLine"
android:layout_width="fill_parent"
android:layout_height="3dip"
android:background="@color/fashion"/>
<ImageView
android:id="@+id/articleDetailImageView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitStart"
android:src="@drawable/article_detail_image_test"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dip"
android:text="PUBLISH DATE"/>
<WebView
android:id="@+id/articleDetailContentView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/fashion"
android:isScrollContainer="false"/>
</LinearLayout>
我正在从后端获取一些 HTML 信息。它没有任何 body 或 head 标签,只有 <p> 或 <h4> 或其他一些标签包围的数据。它还有<img> 标签。有时图片对于当前屏幕宽度来说太宽了。所以我在 HTML 的开头添加了一些 css。所以我像这样将数据加载到 webview:
private final static String WEBVIEW_MIME_TYPE = "text/html";
private final static String WEBVIEW_ENCODING = "utf-8";
String viewport = "<head><meta name=\"viewport\" content=\"target-densitydpi=device-dpi\" /></head>";
String css = "<style type=\"text/css\">" +
"img {width: 100%;}" +
"</style>";
articleContent.loadDataWithBaseURL("http://", viewport + css + articleDetail.getContent(), WEBVIEW_MIME_TYPE,
WEBVIEW_ENCODING, "about:blank");
有时当页面加载时,scrollview 会滚动到 webview 开始的地方。我不知道如何解决这个问题。
另外,有时 webview 内容后会出现巨大的空白区域。我也不知道该怎么办。
有时滚动视图的滚动条在我滚动时开始随机抽动...
我知道将 webview 放入 scrollview 是不对的,但似乎我别无选择。谁能建议将所有视图和所有 HTML 内容放置到 webview 的正确方法?
【问题讨论】:
标签: android webview scrollview