zoukankan      html  css  js  c++  java
  • 【转】loading 三种实现方式

    转载:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=76872

    一、通过动画实现

    定义res/anim/loading.xml如下:

    [java] view plaincopy
     
     
     
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <animation-list android:oneshot="false"  
    3. xmlns:android="http://schemas.android.com/apk/res/android">  
    4.   <item android:duration="150" android:drawable="@drawable/loading_01" />  
    5.   <item android:duration="150" android:drawable="@drawable/loading_02" />  
    6.   <item android:duration="150" android:drawable="@drawable/loading_03" />  
    7.   <item android:duration="150" android:drawable="@drawable/loading_04" />  
    8.   <item android:duration="150" android:drawable="@drawable/loading_05" />  
    9.   <item android:duration="150" android:drawable="@drawable/loading_06" />  
    10.   <item android:duration="150" android:drawable="@drawable/loading_07" />  
    11. </animation-list>   


    在layout文件中引用如下:

    [java] view plaincopy
     
     
     
    1. <ProgressBar android:id="@+id/loading_process_dialog_progressBar"  
    2.   android:layout_width="wrap_content" android:layout_height="wrap_content"  
    3.   android:indeterminate="false" android:indeterminateDrawable="@anim/loading" />  


    二、通过自定义颜色实现
    定义res/drawable/dialog_style_xml_color.xml如下:

    [java] view plaincopy
     
     
     
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <rotate xmlns:android="http://schemas.android.com/apk/res/android"  
    3.   android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"  
    4.   android:toDegrees="360">  
    5.   <shape android:shape="ring" android:innerRadiusRatio="3"  
    6.     android:thicknessRatio="8" android:useLevel="false">  
    7.     <gradient android:type="sweep" android:useLevel="false"  
    8.      android:startColor="#FFFFFF" android:centerColor="#FFDC35"  
    9.      android:centerY="0.50" android:endColor="#CE0000" />  
    10.   </shape>  
    11. </rotate>  


    在layout文件中引用如下:

    [java] view plaincopy
     
     
     
    1. <ProgressBar android:id="@+id/loading_process_dialog_progressBar"  
    2.   android:layout_width="wrap_content" android:layout_height="wrap_content"  
    3.   android:indeterminate="false" android:indeterminateDrawable="@drawable/dialog_style_xml_color" />  


    三、使用一张图片进行自定义
    定义res/drawable/dialog_style_xml_icon.xml如下:

    [java] view plaincopy
     
     
     
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
    3. <item>  
    4.   <rotate android:drawable="@drawable/dialog_progress_round"  
    5.    android:fromDegrees="0.0" android:toDegrees="360.0" android:pivotX="50.0%"  
    6.    android:pivotY="50.0%" />  
    7. </item>  
    8. </layer-list>  

    在layout文件中引用如下:

    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. <ProgressBar android:id="@+id/loading_process_dialog_progressBar"    
    2.   android:layout_width="wrap_content" android:layout_height="wrap_content"    
    3.   android:indeterminate="false" android:indeterminateDrawable="@drawable/dialog_style_xml_icon" />   


    main.xml如下:

    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    3. android:orientation="vertical" android:layout_width="fill_parent"  
    4. android:layout_height="fill_parent" android:gravity="center"  
    5. android:background="#FFF">  
    6. <Button android:text="@string/anim" android:id="@+id/anim"  
    7.   android:layout_width="120dip" android:layout_height="wrap_content" />  
    8. <Button android:text="@string/color" android:id="@+id/color"  
    9.   android:layout_width="120dip" android:layout_height="wrap_content" />  
    10. <Button android:text="@string/icon" android:id="@+id/icon"  
    11.   android:layout_width="120dip" android:layout_height="wrap_content" />  
    12. </LinearLayout>  


    之后通过三个按钮将ProgressBar 放在对话框中显示出来就完成了。

     AnimRoundProcessDialog.rar 


    截图如下:

  • 相关阅读:
    HDU 1863 畅通工程(Kruskal)
    HDU 1879 继续畅通工程(Kruskra)
    HDU 1102 Constructing Roads(Kruskal)
    POJ 3150 Cellular Automaton(矩阵快速幂)
    POJ 3070 Fibonacci(矩阵快速幂)
    ZOJ 1648 Circuit Board(计算几何)
    ZOJ 3498 Javabeans
    ZOJ 3490 String Successor(模拟)
    Java实现 LeetCode 749 隔离病毒(DFS嵌套)
    Java实现 LeetCode 749 隔离病毒(DFS嵌套)
  • 原文地址:https://www.cnblogs.com/qianyukun/p/4810525.html
Copyright © 2011-2022 走看看