正試圖找出最大滾動位置WebView
可以達到,我試過webView.pageDown(true)
但結果是延遲的(我不能向下滾動,然後向上的盈方用戶,而且這種方法每次)不工作,我也試着webView.getContentHeight()
和高度是不正確的阿拉伯語內容。檢測Webview滾動是否到達末端
請諮詢
正試圖找出最大滾動位置WebView
可以達到,我試過webView.pageDown(true)
但結果是延遲的(我不能向下滾動,然後向上的盈方用戶,而且這種方法每次)不工作,我也試着webView.getContentHeight()
和高度是不正確的阿拉伯語內容。檢測Webview滾動是否到達末端
請諮詢
好吧,我想出了答案
你可以使用
當你得到真正的高度(INT)Math.floor(webView.getContentHeight()* webView的真實內容的高度。的getScale());
,那麼就重寫滾動方法的WebView聽滾動事件,如果滾動達到真正的高度,網頁視圖是滾動的底部。
@Override \t公共布爾onScroll(MotionEvent E1,E2 MotionEvent,浮子distanceX,浮法distanceY){ \t \t INT lenght =(int)的Math.floor(WebView1.getContentHeight()* WebView1.getScale()); \t \t \t \t返回FALSE; \t}你怎麼來了這個知道頁面已經達到結束....... –
@VipinSahu見我的回答 http://stackoverflow.com/questions/10956443/android-making-a - 按鈕 - 可見 - 一次 - webview - 完成 - 滾動 爲一個全面的解決方案。 – karora
WebView.getScale已棄用,我們應該使用getScaleY和getScaleX。 – shalafi
加載/可見按鈕僅在網頁視圖達到/滾動底部。
創建JavaScript類:
public class JavaScriptInterface {
@android.webkit.JavascriptInterface
public void didScrollToBottom() {
Log.d(TAG, "Scroll to Bottom");
myHandler.post(new Runnable() {
@Override
public void run() {
btnAccept.setVisibility(View.VISIBLE);
}
});
}
}
在的onCreate():
final JavaScriptInterface jsInterface = new JavaScriptInterface();
myWebView.addJavascriptInterface(jsInterface, "AndroidFunction");
@Override
public void onScroll(int l, int t) {
int height = (int) Math.floor(webView.getContentHeight() * webView.getScale());
int webViewHeight = webView.getHeight();
int cutoff = height - webViewHeight - 10; // Don't be too strict on the cutoff point
if (t >= cutoff) {
setDisclaimerButtonEnabled(true);
}
}
時所需的非嚴格,是因爲我對三星S5發現最下方滾動值距離最底層的價值只有1個像素值!
這是由Math.floor()引起的。嘗試Math.round() – deviant
你爲什麼想知道最大滾動位置? – springrolls
想使從'WebView'內容頁面,用戶必須不通過內容滾動,我們必須讓它頁面,所以當我使用'scrollTo'我不能想,如果我達到了目的或不向下滾動,這是要求 –