您的位置:首页 > 移动开发 > Android开发

Android利用android:indeterminateDrawable来实现ProgressBar三种方式

2018-01-09 09:33 716 查看


方式1:(效果为补间动画一样)

[html] view
plain copy

<ProgressBar  

    android:layout_width="wrap_content"  

    android:layout_height="wrap_content"  

    android:indeterminate="true"  

    android:indeterminateDrawable="@anim/loading" />  

其中动画loading:

[html] view
plain copy

<?xml version="1.0" encoding="UTF-8"?>  

<animation-list android:oneshot="false"  

  xmlns:android="http://schemas.android.com/apk/res/android">  

  <item android:duration="60" android:drawable="@drawable/load_1" />  

  <item android:duration="60" android:drawable="@drawable/load_3" />  

  <item android:duration="60" android:drawable="@drawable/load_5" />  

  <item android:duration="60" android:drawable="@drawable/load_7" />  

  <item android:duration="60" android:drawable="@drawable/load_9" />  

  <item android:duration="60" android:drawable="@drawable/load_11" />  

  <item android:duration="60" android:drawable="@drawable/load_13" />  

  <item android:duration="60" android:drawable="@drawable/load_15" />  

</animation-list>  


方式2:(效果为自定义图片让其不断的旋转)

[html] view
plain copy

<ProgressBar  

    android:layout_width="wrap_content"  

    android:layout_height="wrap_content"  

    android:indeterminate="true"  

    android:indeterminateDrawable="@drawable/progressbar" />  

其中progressbar:

[html] view
plain copy

<?xml version="1.0" encoding="utf-8"?>  

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >  

  

    <item>  

        <rotate  

            android:drawable="@drawable/load"  

            android:fromDegrees="0.0"  

            android:pivotX="50.0%"  

            android:pivotY="50.0%"  

            android:toDegrees="360.0" />  

     <span style="white-space:pre">   </span>    <!-- 其中360.0值越大,转的圈圈越快 -->  

    </item>  

  

</layer-list>  


方式三:(效果为自定义颜色让其不断的旋转)

[html] view
plain copy

<ProgressBar  

    android:layout_width="wrap_content"  

    android:layout_height="wrap_content"  

    android:indeterminate="true"  

    android:indeterminateDrawable="@drawable/progressbar2" />  

其中progressbar2:

[html] view
plain copy

<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?>  

<rotate xmlns:android="http://schemas.android.com/apk/res/android"  

    android:fromDegrees="0"  

    android:pivotX="50%"  

    android:pivotY="50%"  

    android:toDegrees="360" >  

    <shape  

        android:innerRadiusRatio="3"  

        android:shape="ring"  

        android:thicknessRatio="8"  

        android:useLevel="false" >  

        <gradient  

            android:centerColor="#FFFFFF"  

            android:centerY="0.50"  

            android:endColor="#1E90FF"  

            android:startColor="#000000"  

            android:type="sweep"  

            android:useLevel="false" />  

    </shap  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: