2011-06-09 53 views
2

我有这样的视图层次,垂直滚动型包含两个孩子一个垂直的LinearLayout:Android的滚动型包含的LinearLayout用的WebView滚动行为

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 

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

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

回答

2

您无法可靠地将WebView置于ScrollView中。

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

0

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

使用javascript injection在webview加载后插入广告。

0

诀窍是在将内容加载到WebView时使用loadDataWithBaseURL。只需执行loadData不会导致滚动偏移量重置。