我在Fragment
:
public void showProgressDialog(int messageId){
String message = getString(messageId);
mProgressDialog = ProgressDialog.show(this.getActivity(), "", message, true);
}
如何在进度条周围设置默认填充?
编辑:添加themes.xml文件
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
</style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:textColorPrimary">@android:color/white</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="android:windowContentOverlay">@null</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<!-- Toolbar Theme / Apply white arrow -->
<item name="colorControlNormal">@android:color/white</item>
<item name="actionBarTheme">@style/AppTheme.ActionBarTheme</item>
<!-- Material Theme -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/status_bar_color</item>
<item name="colorAccent">@color/accent_color</item>
<item name="android:navigationBarColor" tools:targetApi="21">@color/navigationBarColor</item>
<item name="android:fitsSystemWindows">true</item>
<item name="android:windowDrawsSystemBarBackgrounds" tools:targetApi="21">true</item>
</style>
<style name="AppTheme.ActionBarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
<!-- White arrow -->
<item name="colorControlNormal">@android:color/white</item>
</style>
<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">@color/drawerArrowColor</item>
</style>
</resources>
此类在API级别26中已弃用.ProgressDialog是一种模式 对话框,阻止用户与应用程序交互。代替 使用这个类,你应该使用像这样的进度指示器 ProgressBar,可以嵌入到您应用的UI中。或者, 您可以使用通知来通知用户任务的进度。有关详细信息Link
答案 0 :(得分:4)
这是我的解决方法,为Dialog创建一个新主题。希望它能帮到你!
<style name="ProgressDialogTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="android:fitsSystemWindows">false</item>
<item name="android:clipToPadding">false</item>
</style>
ProgressDialog progressDialog = new ProgressDialog(context, R.style.ProgressDialogTheme);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setMessage(content);
progressDialog.show();
答案 1 :(得分:1)
试试这种方式
pDialog = new ProgressDialog(getActivity());
pDialog.setMessage("Loading...");
pDialog.setIndeterminate(true);
// (To customize your dialog)pDialog.setIndeterminateDrawable(getResources().getDrawable(R.drawable.custom_progress));
pDialog.setCancelable(false);
pDialog.show();
答案 2 :(得分:0)
Yuu可以尝试以下代码:
ProgressDialog dialog = new ProgressDialog(getActivity(), getTheme());
dialog.setTitle(getString(R.string.pleaseWait));
dialog.setMessage(getString(R.string.message));
dialog.setIndeterminate(true);
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
您可以为progressdialog设置不同的主题..
1)尝试使用ProgressDialog.THEME_HOLO_DARK而不是getTheme()。
2)或者您可以设置自定义主题。见link。
了解更多详情。请参阅此link。
希望它会对你有所帮助。
答案 3 :(得分:0)
在我的应用主题中使用<item name="android:fitsSystemWindows">true</item>
时遇到了同样的问题。删除这个项目对我有帮助(实际上,只是在代码的其他部分移动了它)。