今天公司有个要求,需要做一个加载转圈圈的功能,一开始想到就是把美工的图片copy下来,然后360度旋转,但是我记得安卓有ProgressBar,我在想,能不能通过更改ProgressBar样式模仿美工做的效果,两图对比:

此图是美工做的:

此图是原生的:

 然后我百度了一下,找到一个样式可以的:

创建loading_drawable.xml代码如下

<?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="1080.0">
    <shape android:innerRadiusRatio="3"
        android:shape="ring"
        android:thicknessRatio="10"
        android:useLevel="false">
        <gradient
            android:centerY="0.50"
            android:endColor="#BC83FF"
            android:startColor="@color/transparent"
            android:type="sweep"/>
    </shape>
</rotate>

然后直接引用:

 <ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="@dimen/dp_100"
        android:layout_height="@dimen/dp_100"
        android:indeterminate="true"
        android:indeterminateDrawable="@drawable/loading_drawable"/>

 效果就和美工的差不多了,美中不足的就是这里是直线结尾,美工做的是圆形结尾。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐