android中自定义加载的对话框。。。。

来源:互联网 发布:高琪 java ppt 编辑:程序博客网 时间:2024/05/23 02:05

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() {@Overridepublic void onDismiss(DialogInterface dialog) {}});                return loadingDialog;    }  
 
2、自定义对话框的样式代码如下
    <style name="loading_dialog" parent="android:style/Theme.Dialog">         <item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->         <item name="android:windowFrame">@null</item><!--边框-->         <item name="android:windowNoTitle">true</item><!--无标题-->         <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->         <item name="android:windowIsTranslucent">true</item><!--半透明-->         <item name="android:windowContentOverlay">@null</item><!--内容覆盖 -->         <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item><!-- 窗口样式Dialog -->         <item name="android:backgroundDimEnabled">true</item><!--模糊-->    </style>
3、对话框中图片的动画效果
   
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"      android:oneshot="false">  <!--是否执行一次 false循环执行-->    <item android:drawable="@drawable/dialog_loading1" android:duration="100" />      <item android:drawable="@drawable/dialog_loading2" android:duration="100" />      <item android:drawable="@drawable/dialog_loading3" android:duration="100" />      <item android:drawable="@drawable/dialog_loading4" android:duration="100" />      <item android:drawable="@drawable/dialog_loading5" android:duration="100" />      <item android:drawable="@drawable/dialog_loading6" android:duration="100" />      <item android:drawable="@drawable/dialog_loading7" android:duration="100" />      <item android:drawable="@drawable/dialog_loading8" android:duration="100" />  </animation-list>
 
 
4、最后对话框的布局
   <pre class="html" name="code"><?xml version="1.0" encoding="utf-8"?>  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      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"    >      <ImageView           android:id="@+id/img"          android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:src="@anim/dialog_loading" <!--图片加载 之前设置好的动画文件-->        android:layout_gravity="center"        />      <TextView           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" />          </LinearLayout>  



 

0 0
原创粉丝点击