我在我的android应用程序中使用进度对话框。它在android 5.0 +上看起来不错。但是在android 4.4.4下面它显示了两层。我已经附加了屏幕截图。我正在使用样式
<style name="AlertDialogCustom" parent="Theme.AppCompat.Dialog">
<item name="colorAccent">#FFFFFF</item>
<item name="android:textColorPrimary">#CCCCCC</item>
<item name="android:background">#E43F3F</item>
</style>
和进度对话框
final ProgressDialog progressDialog = new ProgressDialog(SplashActivity.this,
R.style.AlertDialogCustom);
progressDialog.setIndeterminate(true);
progressDialog.setMessage("Authenticating...");
progressDialog.show();
如何解决这个问题。请建议我。
答案 0 :(得分:2)
您应该从
替换导入import android.app.AlertDialog;
为:
import android.support.v7.app.AlertDialog;
希望有所帮助!
答案 1 :(得分:0)
您可以将这些添加到您的风格中:
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:backgroundDimEnabled">true</item>
在我的情况下效果很好。
答案 2 :(得分:0)
我有同样的情况(在API 16中测试过),将导入更改为
import android.support.v7.app.AlertDialog;
或添加
<item android:windowBackground="@android:color/transparent" />
这种风格对我没用。
我创建了values-v21
文件夹,其中包含默认的素材样式并添加了
<item name="android:background">@android:color/transparent</item>
<item name="android:windowBackground">@android:color/transparent</item>
到style.xml
文件夹中的values
文件。
答案 3 :(得分:0)
您应该在Android&lt; = API 20上为ProgressDialog创建专用样式。
<style name="AppTheme.AlertDialog" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.ProgressDialog" parent="AppTheme.AlertDialog">
<item name="android:windowBackground">@android:color/transparent</item>
</style>
然后,您必须应用ProgressDialog样式才能使其正常工作:
if (Build.VERSION.SDK_INT < 21)
{
mProgress = new ProgressDialog(mActivity, R.style.AppTheme_ProgressDialog);
}
else
{
mProgress = new ProgressDialog(mActivity);
}
....
希望它会有所帮助。
答案 4 :(得分:-1)
我通过外部库https://github.com/afollestad/material-dialogs修复此问题 简单而美好。
new MaterialDialog.Builder(this)
.title(R.string.progress_dialog)
.content(R.string.please_wait)
.progress(true, 0)
.progressIndeterminateStyle(true)
.show();