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>