自定义加载框

MainActivity
  1. package com.animdemo;

  2. import android.app.Activity;
  3. import android.app.Dialog;
  4. import android.content.Context;
  5. import android.os.Bundle;
  6. import android.view.LayoutInflater;
  7. import android.view.View;
  8. import android.view.animation.Animation;
  9. import android.view.animation.AnimationUtils;
  10. import android.widget.ImageView;
  11. import android.widget.LinearLayout;
  12. import android.widget.TextView;

  13. public class MainActivity extends Activity {

  14.         @Override
  15.         protected void onCreate(Bundle savedInstanceState) {
  16.                 super.onCreate(savedInstanceState);
  17.                 setContentView(R.layout.activity_main);
  18.         }

  19.         public void button(View v) {
  20.                 // Toast.makeText(this, "点击了", Toast.LENGTH_LONG).show();
  21.                 createLoadingDialog(this, "无限转圈中...").show();
  22.         }

  23.         public Dialog createLoadingDialog(Context context, String msg) {

  24.                 LayoutInflater inflater = LayoutInflater.from(context);
  25.                 View v = inflater.inflate(R.layout.progressdialog_no_deal, null);// 得到加载view
  26.                 LinearLayout layout = (LinearLayout) v.findViewById(R.id.dialog_view);// 加载布局
  27.                 // main.xml中的ImageView
  28.                 ImageView spaceshipImage = (ImageView) v.findViewById(R.id.img);
  29.                 TextView tipTextView = (TextView) v.findViewById(R.id.tipTextView);// 提示文字
  30.                 // 加载动画
  31.                 Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(
  32.                                 context, R.anim.anim);
  33.                 // 使用ImageView显示动画
  34.                 spaceshipImage.startAnimation(hyperspaceJumpAnimation);
  35.                 tipTextView.setText(msg);// 设置加载信息

  36.                 Dialog loadingDialog = new Dialog(context, R.style.loading_dialog);// 创建自定义样式dialog

  37.                 loadingDialog.setCancelable(true);// 可以用“返回键”取消
  38.                 loadingDialog.setContentView(layout, new LinearLayout.LayoutParams(
  39.                                 LinearLayout.LayoutParams.MATCH_PARENT,
  40.                                 LinearLayout.LayoutParams.MATCH_PARENT));// 设置布局
  41.                 return loadingDialog;

  42.         }

  43. }

MainActivity的XML
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent"
  5.     android:paddingBottom="@dimen/activity_vertical_margin"
  6.     android:paddingLeft="@dimen/activity_horizontal_margin"
  7.     android:paddingRight="@dimen/activity_horizontal_margin"
  8.     android:paddingTop="@dimen/activity_vertical_margin"
  9.     tools:context=".MainActivity" >

  10.     <TextView
  11.         android:id="@+id/textView1"
  12.         android:layout_width="wrap_content"
  13.         android:layout_height="wrap_content"
  14.         android:text="@string/hello_world" />

  15.     <Button
  16.         android:layout_width="wrap_content"
  17.         android:layout_height="wrap_content"
  18.         android:layout_alignLeft="@+id/textView1"
  19.         android:layout_below="@+id/textView1"
  20.         android:layout_marginLeft="28dp"
  21.         android:layout_marginTop="33dp"
  22.         android:onClick="button"
  23.         android:text="点击我" />

  24. </RelativeLayout>

弹出的DialogXML
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:id="@+id/dialog_view"
  4.     android:layout_width="fill_parent"
  5.     android:layout_height="fill_parent"
  6.     android:background="@drawable/shape_nodeal_progressdialog"
  7.     android:gravity="center"
  8.     android:orientation="vertical"
  9.     android:paddingBottom="10dp"
  10.     android:paddingLeft="20dp"
  11.     android:paddingRight="20dp"
  12.     android:paddingTop="16dp" >

  13.     <ImageView
  14.         android:id="@+id/img"
  15.         android:layout_width="wrap_content"
  16.         android:layout_height="wrap_content"
  17.         android:background="#00000000"
  18.         android:src="@drawable/img_common_progressdialog" />

  19.     <TextView
  20.         android:id="@+id/tipTextView"
  21.         android:layout_width="wrap_content"
  22.         android:layout_height="wrap_content"
  23.         android:layout_gravity="clip_horizontal"
  24.         android:layout_marginTop="5dp"
  25.         android:gravity="center_horizontal"
  26.         android:textColor="#FFFFFF" />

  27. </LinearLayout>


动画设置XML
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <set xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:shareInterpolator="false" >

  4. <!--下面是动画的基本设置 参数对应的意义百度都有-->
  5.     <rotate
  6.         android:duration="1500"
  7.         android:fromDegrees="0"
  8.         android:interpolator="@android:anim/linear_interpolator"
  9.         android:pivotX="50%"
  10.         android:pivotY="50%"
  11.         android:repeatCount="-1"
  12.         android:repeatMode="restart"
  13.         android:startOffset="-1"
  14.         android:toDegrees="+360" />

  15. </set>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值