2

我有一个像这样的视图层次结构,一个垂直的 ScrollView,它的垂直 LinearLayout 包含两个孩子:

ScrollView ->orientation:vertical, width:fill_parent, height: fill_parent
   LinearLayout -> orientation:vertical, width:fill_parent, height: fill_parent  
      WebView -> width:fill_parent, height: fill_parent
      GoogleAdView -> width:wrap_content, height:wrap_content

当滚动到 webview 的底部并单击那里的任何链接时,尽管页面加载,滚动条仍停留在底部而不是移动到顶部。我可以使用 以编程方式设置滚动scroll.fullScroll(ScrollView.FOCUS_UP),但这会导致滚动条明显跳起来。我曾尝试在页面加载之前隐藏滚动条scrollView.setVerticalScrollBarEnabled(false),然后在调用之前在页面加载后重新启用它,scroll.fullScroll(ScrollView.FOCUS_UP)但这仍然会导致滚动条“跳转”。

WebView 本身可以更好地处理页面更改时的滚动,看起来它隐藏了滚动条,然后在加载后使其显示在页面顶部。有没有办法用 ScrollView 来维护它?

4

3 回答 3

2

您不能可靠地将 a 放入 aWebViewScrollView

将您的广告嵌入到您的 Web 内容中,将横幅固定在屏幕上,或者制定一些其他触发器来动画隐藏广告(例如,在 5 秒后消失)。

于 2011-06-09T13:53:48.343 回答
0

我通过在 webview 中添加 AD 解决了这个问题。不幸的是,您将无法使用任何广告网络 SDK,但这是一种更好的用户体验。

在 webview 加载后使用 javascript 注入插入您的广告。

于 2011-09-23T22:04:51.973 回答
0

诀窍是loadDataWithBaseURL在将内容加载到 WebView 时使用。简单地做 aloadData不会导致滚动偏移重置。

于 2011-11-01T22:02:49.820 回答