单击页面上的任意位置后,Android中的进度条未显示

Posted

技术标签:

【中文标题】单击页面上的任意位置后,Android中的进度条未显示【英文标题】:Progress bar in Android not getting display after click anywhere on the page 【发布时间】:2013-02-22 17:39:04 【问题描述】:

我的 android 应用中有一个 webview 和一个按钮。 我正在显示 ProgressDialog 并禁用 onPageStarted 函数上的按钮单击,例如:

public void onPageStarted(WebView view, String url, Bitmap favicon)



                    super.onPageStarted(view, url, favicon);
                    Dialog.show();
                    button1.setClickable(false);


并禁用 onPageFinished 上的进度条并启用按钮

  public void  onPageFinished(WebView view, String url)
    
                        if(Dialog.isShowing())
                                        
                                                    Dialog.dismiss();
                                        

                        button1.setClickable(true);

    

但是我的问题是当我单击按钮时。即使它不可单击或单击页面上的任何位置,进度条也会被隐藏,该进度条在显示功能上正确显示,并且在网页加载到 webview.the 之后按钮变为可点击。如何显示继续进度条,直到加载 url 后调用 onPageFinished

【问题讨论】:

显示你的对话代码。 这是一个标准进度条 private ProgressDialog Dialog = new ProgressDialog(Activity.this); 【参考方案1】:

首先,请查看此对话框指南:http://developer.android.com/guide/topics/ui/dialogs.html

其次,这是因为您的对话框不是模态的。 如果您想避免您的用户取消点击对话框之外的对话框或点击后退按钮,您必须这样做:

dialog.setCancelable( false );

【讨论】:

【参考方案2】:

如果您想阻止来自dismiss/close 的对话框被外部触摸,那么您应该执行以下操作..

 ProgressDialog Dialog = new ProgressDialog(Activity.this);
 Dialog.setCancelable(false);

【讨论】:

@iRunner 不想被外界忽视?【参考方案3】:

您可能想使用:

 dialog.setCanceledOnTouchOutside(false);

一旦在进度对话框之外点击,它就不会关闭它。

【讨论】:

以上是关于单击页面上的任意位置后,Android中的进度条未显示的主要内容,如果未能解决你的问题,请参考以下文章

通过使用纯Javascript单击页面上的任意位置来关闭元素

在 iOS 滑块上,我可以单击刻度上的任意位置还是必须拖动滑块旋钮?

Python 进度条未正确显示进度

单击TableView部分中的任意位置后如何执行segue?

引导进度条未在移动视图中显示

Bootstrap 4 进度条未显示