设置WebView的宽度以包装HTML内容?

时间:2012-02-14 12:53:00

标签: android

我需要一个活动来将HTML文档加载到WebView中,但是要对WebView进行大小调整,以便紧密包装HTML文档。例如如果HTML文档包含一个大小为300x200像素的div,我希望WebView的大小调整为300px x 200px以准确包含文档。

垂直WebView自然会以这种方式运行。 WebView(带有wrap_content)的高度由HTML文档的高度决定,但奇怪的是不是总是填充宽度的宽度(除非为宽度指定了尺寸)。即,据我所知,使用带有WebView的layout_width =“wrap_content”不起作用。

有没有办法配置WebView以这种方式调整其宽度?我看不到一个。如果HTML内容比屏幕宽度更薄,我希望WebView更薄。

如果没有,有没有办法在HTML文档模型中获取后渲染的绝对元素大小,然后我可以使用它来调整WebView宽度的大小?

为了演示,这里是将静态内容加载到WebView中的语句:

browser.loadDataWithBaseURL("/", "Hello!", "text/html", "utf-8", null);

这是简单的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <WebView
        android:id="@+id/webview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="visible"
        />
</LinearLayout>

我希望这会在左上方展示一个横跨宽度的WebView,但它会一直延伸到整个屏幕宽度(尽管是wrap_content,内容小于宽度)

enter image description here

1 个答案:

答案 0 :(得分:-2)

我想,您可以在布局xml中使用WebView的android:layout_marginRight = 200px功能。