dialog加载动画实例

来源:互联网 发布:佐治亚州知乎 编辑:程序博客网 时间:2024/05/16 07:50

1,DialogLoadingUtil 类

public class DialogLoadingUtil {
private Context context;
public DialogLoadingUtil(Context context){
this.context=context;
}
@SuppressLint("NewApi")
public  Dialog showDialog(){
Dialog dialog=new Dialog(context);
dialog = new Dialog(context, R.style.loading); 
View view=View.inflate(context, R.layout.loadinglayout, null);
ImageView iv_anim=(ImageView) view.findViewById(R.id.iv_anim);
iv_anim.setBackgroundResource(R.drawable.loading);
AnimationDrawable animationDrawable = (AnimationDrawable) iv_anim.getBackground();
animationDrawable.start();
dialog.setContentView(view);//此处布局为一个progressbar  
        dialog.setCancelable(true); // 可以取消  
        dialog.show();  
//        WindowManager.LayoutParams params = dialog.getWindow().getAttributes();  
//        params.height = -1;  
//        params.width = -1;  
//        params.format=1;  
//        params.flags = LayoutParams.FLAG_FULLSCREEN | LayoutParams.FLAG_LAYOUT_IN_SCREEN;  
//        dialog.getWindow().setAttributes(params);  
return dialog;
}

2,loading

<style name="loading">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">fill_parent</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:backgroundDimEnabled">false</item> <!-- 模糊 -->
        <item name="android:windowIsFloating">true</item> <!-- 类似windows的弹出Dialog -->
        <item name="android:windowContentOverlay">@null</item> <!-- 不要头部阴影 -->
        <item name="android:windowBackground">@android:color/transparent</item> <!-- 背景颜色设置透明 -->
    </style>

3,loadinglayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center" >


  <!--   <ProgressBar
        android:id="@+id/loadingbar"
        style="@style/loadingStyle"
        android:layout_width="199dp"
        android:layout_height="180dp"
        android:layout_gravity="center"
         >
    </ProgressBar> -->
<ImageView 
   android:id="@+id/iv_anim"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   />
<TextView 
android:layout_width="wrap_content"
android:layout_height="wrap_content"   
android:textSize="14dp"
   android:text="加载中..."
   />
</LinearLayout>

4,drawable的loading

<?xml version="1.0" encoding="UTF-8"?>    
<animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">    
  
    <item android:duration="150" android:drawable="@drawable/anim1_1" />   
    <item android:duration="150" android:drawable="@drawable/anim1_2" />   
    <item android:duration="150" android:drawable="@drawable/anim1_3" />   
    <item android:duration="150" android:drawable="@drawable/anim1_4" />   
    <item android:duration="150" android:drawable="@drawable/anim1_5" />   
    <item android:duration="150" android:drawable="@drawable/anim1_6" />   
      
</animation-list>   

0 0