【发布时间】:2013-02-04 12:17:30
【问题描述】:
在给定每特定毫秒数的特定像素数的情况下,我想从上到下自动向下滚动加载到 WebView 中的页面。 我见过这个线程:+Android Webview - how to autoscroll a page?,但是在很多其他线程上,他们说使用 Timer 是个坏主意,所以我使用 this tutorial 处理程序:来创建我的处理程序。现在我的代码如下所示:
private Handler mHandler=new Handler();
private Runnable mScrollDown = new Runnable()
{
public void run()
{
WebView webview = (WebView)findViewById(R.id.web_url);
webview.scrollBy(0, scrollSpeed);
mHandler.postAtTime(this, 200);
}
};
如果我只调用一次,(删除再次调用它的最后一行)它会起作用,它会下降然后停止。但是,如果我尝试使用此代码使其逐渐向下滚动,则视图似乎不会失效(或者它会失效但未重绘)。通过调试器我可以看到 WebView 的 mScrollY 属性增加了,但是视图没有移动。
我的猜测是系统正在等待视图的所有更改以重绘它。有什么方法可以在每次迭代时更新视图,或者有更好的方法吗?
注意:我没有在其中放置页尾检查和停止按钮,因为它们与问题无关。
【问题讨论】:
标签: android scroll android-webview