我在对话框中添加了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);
}


作为示例,由于您没有指定对话框的代码,所以我使用了一个活动,但是您应该能够轻松地修改代码。

09-05 01:32