使用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的伪复制.链接中的一个更彻底,但两者都有相同的解决方案.
答案似乎是,如果用户在开发人员选项中关闭了转换,则ProgressDialog(即Progress Spinner)中的动画将不会显示.打开它们并重新启动应用程序,您将看到微调器!
允许关闭这些设置的动画的解决方案似乎是创建一个自定义对话框,这可能看起来可能比默认的ProgressDialog更好.
并且,作为对试图滥用ProgressDialog的人的公平警告,请注意开发人员documentation中的这些话:
Android includes another dialog class called ProgressDialog that shows a dialog with a progress bar. However,if you need to indicate loading or indeterminate progress,you should instead follow the design guidelines for 07002 and use a 07003 in your layout.
从这一点来看,我认为使用它们通过网络进行长时间调用是可以的,而加载信息或执行一个长的本地进程应该使用其他一个进程组件来指示.