douyinloadingview

Introduction: 仿 android 安卓抖音 v2.5 加载框控件
More: Author   ReportBugs   
Tags:

安卓版抖音 v2.5 加载框:

抖音加载框

本控件效果图:

本控件

使用方法

1、xml 引用:

        <com.douyinloadingview.DYLoadingView
            android:id="@+id/dy3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#000000"
            app:color1="#FF00EEEE"
            app:color2="#FFFF4040"
            app:....(其他可选属性) />

2、java 使用:

    @BindView(R.id.dy1)
    DYLoadingView dy1;

    @OnClick(R.id.b1)
    void start() {
        dy1.setXXXXX(); //设置属性(可选)
        dy1.start(); //开始动画
    }

    @OnClick(R.id.b2)
    void stop() {
        dy1.stop(); //停止动画
    }

就酱。

可用属性

名称 对应 xml 属性 对应 java 方法 默认值
球 1 半径 radius1 setRadius() 6dp
球 2 半径 radius2 setRadius() 6dp
两球间隔 gap setRadius() 0.8dp
球 1 颜色 color1 setColors() 0XFFFF4040
球 2 颜色 color2 setColors() 0XFF00EEEE
叠加色 mixColor setColors() 0XFF000000
从右往左移动时小球最大缩放倍数 rtlScale setScales() 0.7f
从左往右移动时小球最大缩放倍数 ltrScale setScales() 1.3f
一次移动动画时长 duration setDuration() 350ms
一次移动动画后停顿时长 pauseDuration setDuration() 80ms
动画进度在[0,scaleStartFraction]期间,小球大小逐渐缩放 scaleStartFraction setStartEndFraction() 0.2f
动画进度在[scaleEndFraction,1]期间,小球大小逐渐恢复 scaleEndFraction setStartEndFraction() 0.8f

(rtl = right to left, ltr = left to right)

部分属性说明

  • color 格式为 32 位 ARGB
  • scaleStartFraction 范围[0,0.5];scaleEndFraction 范围[0.5,1]
  • 假设 ltrScale = 1.3,scaleStartFraction = 0.2,scaleEndFraction = 0.8;那么实际效果就是一颗小球从左边开始向右移动期间,进度在 0%~20%时半径逐渐从 1 倍放大到 1.3 倍,在 20%~80%期间大小保持 1.3 倍,在 80%~100%时半径逐渐从 1.3 倍恢复至 1 倍

源码解析

我的博客Android 仿抖音加载框之两颗小球转动控件

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools