How to set theme to ProgressDialog?

我是研究僧i 提交于 2019-11-29 09:14:33

ProgressDialog.show() are static methods, so you don't get a class instance of ProgressDialog that you can set properties on.

To get a ProgressDialog instance:

// create a ProgressDialog instance, with a specified theme:    
ProgressDialog dialog = new ProgressDialog(mContext, ProgressDialog.THEME_HOLO_DARK);
// set indeterminate style
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
// set title and message
dialog.setTitle("Please wait");
dialog.setMessage("Loading dictionary file...");
// and show it
dialog.show();

EDIT 8/2016: Regarding the comments about deprecated themes, you may also use styles.xml and inherit from a base theme, e.g.:

<style name="MyProgressDialog" parent="Theme.AppCompat.Dialog">
</style>

the details on how to do this are already covered extensively elsewhere, start with https://developer.android.com/guide/topics/ui/themes.html.

Using themes and styles.xml is (in my opinion) a much cleaner and easier to maintain solution than hard-coding a theme when instantiating the ProgressDialog, i.e. set it once and forget it.

Then you can just do

new ProgressDialog(mContext);

and let your global theme/style provide the styling.

Sorry.. I'm working right now. Can't give full details. But here is the answer.

ProgressDialog progressDialog;

if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB){
   progressDialog = new ProgressDialog(new ContextThemeWrapper(context, android.R.style.Theme_Holo_Light_Dialog));
}else{
   progressDialog = new ProgressDialog(context);
}

progressDialog.setMessage("Loading....");
progressDialog.show();
Adil

You cannot inflate ProgressDialog.

What you can do is while doing async task, you can show custom dialog which you can create by inheriting from Dialog class.

Also see how to set background image for progress dialog?

hm7
dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.item_dialog);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!