Android实现自定义圆形进度条的常用方法有哪些

其他教程   发布日期:2023年07月19日   浏览次数:498

今天小编给大家分享一下Android实现自定义圆形进度条的常用方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

一、通过帧动画实现

1.首先在res 下新建设 anim 文件夹,在里面新建XML 文件;

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

例:loading.xml

  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/pic1" />
  5. <item android:duration="150" android:drawable="@drawable/pic2" />
  6. <item android:duration="150" android:drawable="@drawable/pic3" />
  7. <item android:duration="150" android:drawable="@drawable/pic4" />
  8. <item android:duration="150" android:drawable="@drawable/pic5" />
  9. <item android:duration="150" android:drawable="@drawable/pic6" />
  10. <item android:duration="150" android:drawable="@drawable/pic7"
  11. <item android:duration="150" android:drawable="@drawable/pic8"/>
  12. </animation-list>

二、通过自定义颜色实现

定义res/drawable/progress_color.xml如下:

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

第三种 使用有进度的UI图片:

定义res/drawable/progress_pic.xml如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <rotate xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:drawable="@drawable/progress1"
  4. android:fromDegrees="0"
  5. android:pivotX="50%"
  6. android:pivotY="50%"
  7. android:toDegrees="360" />

在Activity 布局中直接使用就可以:

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical"
  6. tools:context="com.example.demo.MainActivity" >
  7. <ProgressBar
  8. android:id="@+id/loading_process_dialog_progressBar"
  9. android:layout_width="150dp"
  10. android:layout_height="150dp"
  11. android:layout_gravity="center_horizontal"
  12. android:indeterminate="false"
  13. android:indeterminateDrawable="@anim/loading" />
  14. <ProgressBar
  15. android:layout_width="100dp"
  16. android:layout_height="100dp"
  17. android:layout_marginTop="60dp"
  18. android:layout_gravity="center_horizontal"
  19. android:layout_centerInParent="true"
  20. android:indeterminateDrawable="@drawable/progress_small" />
  21. <ProgressBar
  22. android:id="@+id/loading_process_pic"
  23. android:layout_width="wrap_content"
  24. android:layout_height="wrap_content"
  25. android:layout_gravity="center_horizontal"
  26. android:layout_marginTop="60dp"
  27. android:indeterminate="false"
  28. android:indeterminateDrawable="@drawable/progress_pic" />
  29. </LinearLayout>

以上就是Android实现自定义圆形进度条的常用方法有哪些的详细内容,更多关于Android实现自定义圆形进度条的常用方法有哪些的资料请关注九品源码其它相关文章!