public static Dialog showProgressDialog(Context mContext,String content){
View view=LayoutInflater.from(mContext).inflate(R.layout.view_progress_dialog,null);
((TextView)view.findViewById(R.id.progress_tv_content)).setText(content);
Dialog progressDialog;
progressDialog = new Dialog(mContext, R.style.progress_dialog);
progressDialog.setContentView(view);
progressDialog.setCancelable(true);
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
return progressDialog;
}
这段代码最好写到一个专门的类里,写成静态的方法,便于其他界面使用。
Dialog所用的布局文件R.layout.view_progress_dialog代码为:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="180dp"
android:layout_height="180dp"
android:background="@drawable/shape_progress_dialog"
android:gravity="center"
android:orientation="vertical"
android:padding="16.0dip">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:progressBarStyleInverse"
/>
<TextView
android:id="@+id/progress_tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8.0dip"
android:textColor="#fff"
android:text="load..."
android:textSize="16.0dip" />
</LinearLayout>
Dialog所有的主题R.style.progress_dialog为:
<style name="progress_dialog" parent="@android:style/Theme.Dialog">
<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:background">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:backgroundDimEnabled">true</item>
</style>