参考网址:https://blog.csdn.net/shenyuanqing/article/details/47397013
代码:
public static void setProgressDialog(String msg){
ProgressDialog pd = new ProgressDialog(activity,R.style.CommProgressDialog);
View layout = addLayOut(activity,msg);
pd.setCanceledOnTouchOutside(false);
pd.setMessage(msg);
pd.setCancelable(false);
pd.show();
pd.getWindow().setContentView(layout);
}
private static View addLayOut(Activity activity, String msg){
LayoutInflater inflater = activity.getLayoutInflater();
View layout = inflater.inflate(R.layout.progress_dialog,null);//这个就是自定义的布局文件
TextView tv_dialog_message = (TextView) layout.findViewById(R.id.tv_dialog_message);
ImageView img=(ImageView) layout.findViewById(R.id.progress_dialog_img);
tv_dialog_message.setText(msg);
Animation anim= AnimationUtils.loadAnimation(activity, R.anim.loading_dialog_progressbar);
img.setAnimation(anim);
return layout;
}
背景透明样式:res/values/styles.xml
<style name="CustomDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
</style>
<style name="CommProgressDialog" parent="@style/CustomDialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
</style>