Мне нужно поместить WebView в ScrollView. Но я должен поместить несколько представлений в тот же просмотр прокрутки перед просмотром веб-страниц. Вот так это выглядит:
<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>
I'm getting some HTML info from backend. It has no any body or head tags, just data surrounded by <p>
or <h4>
or some other tags. Also it has <img>
tags in there. Sometimes pictures are too wide for current screen width. So I added some css in the begining of HTML. So I loads data to webview like this:
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 прокручивается до места, где начинается веб-просмотр. И я не знаю, как это исправить.
Кроме того, иногда после содержимого веб-просмотра появляется огромное белое пустое пространство. Я тоже не знаю, что с этим делать.
Иногда полосы прокрутки scrollview начинают случайным образом дергаться, пока я прокручиваю ...
Я знаю, что размещать веб-просмотр в режиме прокрутки неправильно, но, похоже, у меня нет другого выбора. Может ли кто-нибудь предложить правильный способ разместить все представления и весь HTML-контент в веб-просмотре?