滚动视图在子视图内容变化时不会重新调整大小

14

我在ScrollView中有一个WebView

WebView的内容在显示不同的HTML页面时会动态改变。

我有以下问题:

例如,我有A.htmlB.htmlB.html的内容大于A.html,因此页面更长。

WebView加载B.html时,ScrollView会拉伸自身的大小以使其可以滚动到B.html,然后如果我返回到A.html,ScrollView不会重新调整自己的大小。(滚动区域超过了A.html的内容)

alt text

我想要的是,动态改变滚动视图的滚动区域以适应WebView的内容。

5个回答

5
尝试在滚动视图中使用android:fillViewport属性..!!
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scroller"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >

1

在屏幕方向调整后,界面会重新调整大小,虽然能够正常工作,但性能较差,不是一个很好的解决方案。

setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE );
setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_SENSOR );

0

这对我很有帮助:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">
    
    <WebView
       android:id="@+id/webView"
       android:layout_width="match_parent"
       android:layout_height="wrap_content" />

</ScrollView>


-3

在ScrollView中放置WebView不是一个好主意。WebView足够聪明,可以自己显示滚动条。


7
如果我们希望滚动WebView上方的内容,有没有办法让ScrollView重新评估? - Steven
3
我想知道为什么这个答案被接受了,问题是“怎么做?”而不是“这是一个好主意吗?” - Yuriy
但在大多数情况下,他是正确的。如果问题的作者决定标记答案,那么他/她可能知道自己在做什么。我想知道为什么这是不好的... - Adrian Grygutis

-7
不要将 WebView 放在 ScrollView 中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接