滚动到网页视图的顶部 (Android)
scrolling to the top of a webview (Android)
我有一个 webview 在用户单击某个对象后加载大文本。
我喜欢从顶部显示的文本。但是,如果用户在上一个文本中向下滚动,则下一个文本已经滚动并且不会从顶部显示。
我在网络视图的 onPageFinished
事件中使用 webView.scrollTo(0,0);
。
这在我的模拟器上运行良好,但在我的 phone 上文本在中间滚动。
使用 Thread.sleep 添加暂停时,它也适用于我的 phone。
我在这里做错了什么?
我的代码:
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
// Pause is needed for my physical phone S7. In Emulator there I have no problem.
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
webView.scrollTo(0,0);
super.onPageFinished(view, url);
}
});
试试这个代码块 -
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
// Pause is needed for my physical phone S7. In Emulator there I have no problem.
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
view.scrollTo(0,0);
super.onPageFinished(view, url);
}
});
实际上,您已经很接近解决方案了。关键是您需要在 onPageFinished 方法的返回视图中设置 scrollTo 。
我有一个 webview 在用户单击某个对象后加载大文本。 我喜欢从顶部显示的文本。但是,如果用户在上一个文本中向下滚动,则下一个文本已经滚动并且不会从顶部显示。
我在网络视图的 onPageFinished
事件中使用 webView.scrollTo(0,0);
。
这在我的模拟器上运行良好,但在我的 phone 上文本在中间滚动。
使用 Thread.sleep 添加暂停时,它也适用于我的 phone。 我在这里做错了什么?
我的代码:
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
// Pause is needed for my physical phone S7. In Emulator there I have no problem.
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
webView.scrollTo(0,0);
super.onPageFinished(view, url);
}
});
试试这个代码块 -
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
// Pause is needed for my physical phone S7. In Emulator there I have no problem.
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
view.scrollTo(0,0);
super.onPageFinished(view, url);
}
});
实际上,您已经很接近解决方案了。关键是您需要在 onPageFinished 方法的返回视图中设置 scrollTo 。