我无法在Lollipop上看到ProgressDialog中的进度微调器

时间:2015-09-15 23:28:03

标签: android dialog spinner progress

使用ProgressDialog创建应用程序,它在JellyBean上显示正常但是在使用Lollipop进行测试时我只看到标题和消息,没有进度微调器..我正在使用

compile 'com.android.support:appcompat-v7:22.2.0'

支持库和AppCompatActivity

代码是:

 ProgressDialog progressDialog = new ProgressDialog(AddBuddyActivity.this);
 progressDialog.setMessage("Loading...");
 progressDialog.setCancelable(false);
 progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
 progressDialog.show();

您可以在同一主题here上看到我发布的另一个问题。

2 个答案:

答案 0 :(得分:17)

注意:您可以看到此问题here的伪复制品。链接中的那个更彻底,但两者都有相同的解决方案。

答案似乎是,如果用户在开发人员选项中关闭了转场,则不会显示ProgressDialog(即Progress Spinner)中的动画。打开它们并重新启动应用程序,您将看到微调器!

允许关闭这些设置的动画的解决方案似乎是制作一个自定义对话框,这可能看起来可能比默认的ProgressDialog更好。

并且,作为对试图滥用ProgressDialog的人的公平警告,请注意开发人员documentation中的这些话:

  

Android包含另一个名为ProgressDialog的对话框类,它显示带有进度条的对话框。但是,如果您需要指明加载或不确定进度,则应遵循Progress & Activity的设计指南并在布局中使用ProgressBar

从这一点来看,我认为使用它们通过网络进行长时间的呼叫是可以的,而加载信息或做一个长的本地进程应该使用其他一个进程组件来指示。

答案 1 :(得分:2)

我在Lollipop中使用它。请让我知道这对你有没有用。 我使用的支持库是android-support-v4.jar

import android.app.ProgressDialog;

ProgressDialog dialog = ProgressDialog.show(this, "Title", "Message ", true, true);//Put this where you need it

这对我来说很好用: Droid Razor M与4.4.2 三星Note 4与5.0.1 三星Galaxy 6 Edge与5.1.1