android 自定义loading动画

来源:互联网 发布:喀秋莎录屏软件8 编辑:程序博客网 时间:2024/04/30 17:41

1、LoadingDialog.java

/** *  */package com.egreat.db;import android.app.Dialog;import android.content.Context;import android.graphics.Point;import android.graphics.drawable.AnimationDrawable;import android.util.Log;import android.view.Display;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.Window;import android.view.WindowManager;import android.widget.FrameLayout;import android.widget.ImageView;import android.widget.LinearLayout;import com.jrm.localmm.R;/** * @author peter.wen * */public class LoadingDialog {private Context mContext;Dialog loadingDialog;public LoadingDialog(Context mContext) {this.mContext = mContext ;LayoutInflater inflater = LayoutInflater.from(mContext);View v = inflater.inflate(R.layout.loading, null);FrameLayout layout = (FrameLayout) v.findViewById(R.id.dialog_view);ImageView wLoading = (ImageView) v.findViewById(R.id.loading);        wLoading.setBackgroundResource(R.drawable.loading_animation);        AnimationDrawable ad=(AnimationDrawable) wLoading.getBackground();        ad.start();        loadingDialog = new Dialog(mContext, R.style.dialog);loadingDialog.setContentView(layout, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT));   Window dialogWindow = loadingDialog.getWindow();           WindowManager.LayoutParams lp = dialogWindow.getAttributes();           dialogWindow.setGravity(Gravity.CENTER);           Display display = dialogWindow.getWindowManager().getDefaultDisplay();           Point point = new Point();          display.getSize(point); // 宽度                  lp.height = point.y; // 高度           lp.width = point.x;                      dialogWindow.setAttributes(lp);}public void show(){loadingDialog.show();}public void dismiss(){loadingDialog.dismiss();}public boolean isShowing(){return loadingDialog.isShowing();}}

2、loading.xml 放在layout目录下

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/dialog_view"    android:layout_width="match_parent"    android:layout_height="match_parent"     >    <ImageView        android:id="@+id/loading"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center"        android:background="@drawable/loading_animation" /></FrameLayout>

3、loading_animation.xml 放在drawable目录下

<?xml version="1.0" encoding="utf-8"?><animation-list        xmlns:android="http://schemas.android.com/apk/res/android"        android:oneshot="false">    <item android:drawable="@drawable/loading_1" android:duration="200" />    <item android:drawable="@drawable/loading_2" android:duration="200" />    <item android:drawable="@drawable/loading_3" android:duration="200" />    <item android:drawable="@drawable/loading_4" android:duration="200" />    <item android:drawable="@drawable/loading_5" android:duration="200" />    <item android:drawable="@drawable/loading_6" android:duration="200" />    <item android:drawable="@drawable/loading_7" android:duration="200" />    <item android:drawable="@drawable/loading_8" android:duration="200" /></animation-list>

4、styles.xml 放在values目录下

<?xml version="1.0" encoding="UTF-8"?><resources>    <style name="dialog" parent="@android:style/Theme.Dialog">        <item name="android:windowFrame">@null</item> <!-- 边框 -->        <item name="android:windowIsFloating">true</item> <!-- 是否浮现在activity之上 -->        <item name="android:windowIsTranslucent">false</item> <!-- 半透明 -->        <item name="android:windowNoTitle">true</item>        <item name="android:background">@null</item>        <item name="android:windowBackground">@drawable/set_bg</item>        <item name="android:backgroundDimEnabled">false</item> <!-- 模糊 -->    </style>            <!--对话框风格  -->    <style name="dialog_no_white" parent="@android:style/Theme.Dialog">        <item name="android:windowFrame">@null</item>        <item name="android:windowIsFloating">true</item>        <item name="android:windowIsTranslucent">false</item>        <item name="android:windowNoTitle">true</item>        <!-- <item name="android:background">@android:color/black</item> -->        <item name="android:windowBackground">@color/black</item>        <item name="android:backgroundDimEnabled">false</item>    </style>    <style name="choose_time_dialog" parent="@android:style/Theme.Dialog">        <item name="android:windowFrame">@null</item> <!-- 边框 -->        <item name="android:windowIsFloating">true</item> <!-- 是否浮现在activity之上 -->        <item name="android:windowIsTranslucent">false</item> <!-- 半透明 -->        <item name="android:windowNoTitle">true</item>        <item name="android:background">@null</item>        <item name="android:backgroundDimEnabled">false</item> <!-- 模糊 -->    </style>    <style name="video_menubg">                <item name="android:layout_width">fill_parent</item>            <item name="android:layout_height">fill_parent</item>      <item name="android:layout_marginLeft">39dp</item>    <item name="android:layout_marginTop">39dp</item>    <item name="android:layout_marginRight">39dp</item>    <item name="android:layout_marginBottom">39dp</item>      <item name="android:background">#00634e</item>      <item name="android:paddingLeft">10dp</item>      <item name="android:paddingRight">10dp</item>              </style>    <style name="menuList">     <item name ="android:listSelector">@drawable/set_button</item>     <item name="android:scrollbarThumbVertical">@drawable/indicate</item>      <item name="android:scrollbarTrackVertical">@drawable/indicatebg</item></style> <style name="InstallDialog" parent="@android:Theme.Dialog">        <item name="android:windowFrame">@null</item>        <item name="android:windowNoTitle">true</item>        <item name="android:windowIsFloating">true</item>        <item name="android:windowBackground">@null</item>        <item name="android:windowContentOverlay">@null</item>    </style></resources>







0 0
原创粉丝点击