android dialog加载中动画效果

时间:2022-03-14 12:54:48
  1. //显示动画
  1. dialog = new Dialog(context, R.style.loading);
  2. dialog.setContentView(R.layout.loadinglayout);//此处布局为一个progressbar
  3. dialog.setCancelable(true); // 可以取消
  4. dialog.show();
  5. WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
  6. params.height = -1;
  7. params.width = -1;
  8. params.format=1;
  9. params.flags = LayoutParams.FLAG_FULLSCREEN | LayoutParams.FLAG_LAYOUT_IN_SCREEN;
  10. dialog.getWindow().setAttributes(params);
  1. dialog.cancel(); //去掉dialog

//dialog中设置的布局progressbar

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:gravity="center"
  6. >
  7. <ProgressBar
  8. android:id="@+id/loadingbar"
  9. style="@style/loadingStyle"
  10. android:layout_width="fill_parent"
  11. android:layout_height="130dp"
  12. android:layout_gravity="center">
  13. </ProgressBar>
  14. </LinearLayout>

//dialog和progressbar分别用的style

  1. <!-- 使用frame动画制作的logo炫动效果 -->
  2. <style name="loadingStyle">
  3. <item name="android:indeterminateDrawable">@anim/loading</item>
  4. </style>
  5. <style name="loading">
  6. <item name="android:layout_width">fill_parent</item>
  7. <item name="android:layout_height">fill_parent</item>
  8. <item name="android:windowFullscreen">true</item>
  9. <item name="android:windowNoTitle">true</item>
  10. <item name="android:backgroundDimEnabled">false</item> <!-- 模糊 -->
  11. <item name="android:windowIsFloating">true</item><!-- 类似windows的弹出Dialog -->
  12. <item name="android:windowContentOverlay">@null</item><!-- 不要头部阴影 -->
  13. <item name="android:windowBackground">@color/transparent</item>   <!-- 背景颜色设置透明-->
  14. </style>

progressbar中Style引用的动画

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">
  3. <item android:duration="150" android:drawable="@drawable/load1" />
  4. <item android:duration="150" android:drawable="@drawable/load2" />
  5. <item android:duration="150" android:drawable="@drawable/load3" />
  6. <item android:duration="150" android:drawable="@drawable/load4" />
  7. <item android:duration="150" android:drawable="@drawable/load5" />
  8. <item android:duration="150" android:drawable="@drawable/load6" />
  9. </animation-list>