1、提供一个 创建对话框的方法
/**
* 获取一个类似加载的对话框
* @param context 上下文
* @param msg 文字说明
* @return 对话框的对象
*/
public static Dialog createLoadingDialog(Context context, String msg) {
/*
* 获得view填充器对象
*/
LayoutInflater inflater = LayoutInflater.from(context);
/*
* 得到加载view
*/
View v = inflater.inflate(R.layout.loading_dialog, null);
/*
* 加载布局
*/
LinearLayout layout = (LinearLayout) v.findViewById(R.id.dialog_view);
/*
* main.xml中的ImageView
*/
// ImageView spaceshipImage = (ImageView) v.findViewById(R.id.img);
TextView tipTextView = (TextView) v.findViewById(R.id.tipTextView);// 提示文字
/*
* 加载动画
*/
// Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(
// context, R.anim.loading_animation);
/*
* 使用ImageView显示动画
*/
// spaceshipImage.startAnimation(hyperspaceJumpAnimation);
if(msg != null && !msg.equals("")){
tipTextView.setText(msg);// 设置加载信息
}
Dialog loadingDialog = new Dialog(context, R.style.loading_dialog);// 创建自定义样式dialog
loadingDialog.setCancelable(true);// 可以用“返回键”取消
loadingDialog.setCanceledOnTouchOutside(false);//
loadingDialog.setContentView(layout, new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));// 设置布局
loadingDialog.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
}
});
return loadingDialog;
}
2、自定义对话框的样式代码如下
@android:color/transparent
@null
true
true
true
@null
@android:style/Animation.Dialog
true
3、对话框中图片的动画效果
android:oneshot="false">
4、最后对话框的布局
<?xml version="1.0" encoding="utf-8"?>
android:id="@+id/dialog_view"
android:orientation="vertical"
android:layout_width="150dp"
android:layout_height="105dp"
android:background="@drawable/loading_bg"
android:gravity="center"
android:layout_gravity="center"
>
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@anim/dialog_loading"
android:layout_gravity="center"
/>
android:id="@+id/tipTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_gravity="center"
android:textColor="@color/white"
android:text="@string/dialog_loading_text" />