我在对话框中添加了webview。我想在用户将Web视图滚动到底部时启用对话框肯定按钮,以便我可以假定用户已阅读用户协议。
最佳答案
您可以通过Javascript解决。在网页中,添加JS代码以检测用户是否已像这样滚动到底部(贷记this post)
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() == $(document).height()) {
Android.onUserScrolledToBottom()
}
});
然后在您的Android应用中,创建一个Javascript接口类
class MyJavascriptInterface {
TermsAndCondActivity termsAndCondActivity;
MyJavascriptInterface(TermsAndCondActivity termsAndCondActivity) {
this.termsAndCondActivity = termsAndCondActivity;
}
@JavascriptInterface
public void onUserScrolledToBottom() {
termsAndCondActivity.onUserScrolledToBottom();
}
}
最后,在您的TermsAndCondActivity中,像这样在onCreate中设置WebView
myWebView = view.findViewById(R.id.my_web_view);
myWebView.setWebViewClient(new WebViewClient());
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.addJavascriptInterface(new MyJavascriptInterface(this), "Android");
并添加以下方法
void onUserScrolledToBottom() {
button.setEnabled(true);
}
作为示例,由于您没有指定对话框的代码,所以我使用了一个活动,但是您应该能够轻松地修改代码。