MainActivity
MainActivity的XML
弹出的DialogXML
动画设置XML
- package com.animdemo;
-
- import android.app.Activity;
- import android.app.Dialog;
- import android.content.Context;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.animation.Animation;
- import android.view.animation.AnimationUtils;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.TextView;
-
- public class MainActivity extends Activity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- }
-
- public void button(View v) {
- // Toast.makeText(this, "点击了", Toast.LENGTH_LONG).show();
- createLoadingDialog(this, "无限转圈中...").show();
- }
-
- public Dialog createLoadingDialog(Context context, String msg) {
-
- LayoutInflater inflater = LayoutInflater.from(context);
- View v = inflater.inflate(R.layout.progressdialog_no_deal, null);// 得到加载view
- 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.anim);
- // 使用ImageView显示动画
- spaceshipImage.startAnimation(hyperspaceJumpAnimation);
- tipTextView.setText(msg);// 设置加载信息
-
- Dialog loadingDialog = new Dialog(context, R.style.loading_dialog);// 创建自定义样式dialog
-
- loadingDialog.setCancelable(true);// 可以用“返回键”取消
- loadingDialog.setContentView(layout, new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.MATCH_PARENT,
- LinearLayout.LayoutParams.MATCH_PARENT));// 设置布局
- return loadingDialog;
-
- }
-
- }
-
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingBottom="@dimen/activity_vertical_margin"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- tools:context=".MainActivity" >
-
- <TextView
- android:id="@+id/textView1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/hello_world" />
-
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignLeft="@+id/textView1"
- android:layout_below="@+id/textView1"
- android:layout_marginLeft="28dp"
- android:layout_marginTop="33dp"
- android:onClick="button"
- android:text="点击我" />
-
- </RelativeLayout>
弹出的DialogXML
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/dialog_view"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:background="@drawable/shape_nodeal_progressdialog"
- android:gravity="center"
- android:orientation="vertical"
- android:paddingBottom="10dp"
- android:paddingLeft="20dp"
- android:paddingRight="20dp"
- android:paddingTop="16dp" >
-
- <ImageView
- android:id="@+id/img"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="#00000000"
- android:src="@drawable/img_common_progressdialog" />
-
- <TextView
- android:id="@+id/tipTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="clip_horizontal"
- android:layout_marginTop="5dp"
- android:gravity="center_horizontal"
- android:textColor="#FFFFFF" />
-
- </LinearLayout>
动画设置XML
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:android="http://schemas.android.com/apk/res/android"
- android:shareInterpolator="false" >
-
- <!--下面是动画的基本设置 参数对应的意义百度都有-->
- <rotate
- android:duration="1500"
- android:fromDegrees="0"
- android:interpolator="@android:anim/linear_interpolator"
- android:pivotX="50%"
- android:pivotY="50%"
- android:repeatCount="-1"
- android:repeatMode="restart"
- android:startOffset="-1"
- android:toDegrees="+360" />
-
- </set>