1. 程式人生 > >翻翻git之---溜的飛起的載入效果AVLoadingIndicatorView

翻翻git之---溜的飛起的載入效果AVLoadingIndicatorView

因為接近過年,看各個群體的工作都不太旺盛(不是年會就是各種吹B或是放空)。
之前的Material Design的內容幾乎講的差不多了(至少主要的幾個控制元件都介紹完了)。
然後就想著翻點git上給力的東西推薦給觀眾老爺吧(總得給觀眾老爺寫點什麼,手上還有工作內容的並不是空著沒事幹哦,畢竟還是得堅持 哈哈哈)

廢話不多說,先貼下實現效果:

這裡寫圖片描述

我主要講講如何用還有作者大致是如何實現的(AS還好,幫著Eclipse的小夥伴拆包)

AS使用:

 dependencies {
       compile 'com.wang.avi:library:1.0.2'
       compile 'com.nineoldandroids:library:2.4.0'
}

如果想要具體程式碼來修改的只能把程式碼copy進來了,像這樣

這裡寫圖片描述

什麼?太多?只想要個別效果? 也行,那這麼拆!

這裡寫圖片描述

把AVLoadingIndicatorView 帶走(這是呼叫各種實現的繪製類)

然後copy走attires裡你需要的某種實現

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

    <declare-styleable name="AVLoadingIndicatorView">
        <attr name="indicator">
            <flag
name="BallPulse" value="0"/>
<flag name="BallGridPulse" value="1"/> <flag name="BallClipRotate" value="2"/> <flag name="BallClipRotatePulse" value="3"/> <flag name="SquareSpin" value="4"/> <flag name="BallClipRotateMultiple"
value="5"/>
<flag name="BallPulseRise" value="6"/> <flag name="BallRotate" value="7"/> <flag name="CubeTransition" value="8"/> <flag name="BallZigZag" value="9"/> <flag name="BallZigZagDeflect" value="10"/> <flag name="BallTrianglePath" value="11"/> <flag name="BallScale" value="12"/> <flag name="LineScale" value="13"/> <flag name="LineScaleParty" value="14"/> <flag name="BallScaleMultiple" value="15"/> <flag name="BallPulseSync" value="16"/> <flag name="BallBeat" value="17"/> <flag name="LineScalePulseOut" value="18"/> <flag name="LineScalePulseOutRapid" value="19"/> <flag name="BallScaleRipple" value="20"/> <flag name="BallScaleRippleMultiple" value="21"/> <flag name="BallSpinFadeLoader" value="22"/> <flag name="LineSpinFadeLoader" value="23"/> <flag name="TriangleSkewSpin" value="24"/> <flag name="Pacman" value="25"/> <flag name="BallGridBeat" value="26"/> <flag name="SemiCircleSpin" value="27"/> </attr> <attr name="indicator_color" format="color"/> </declare-styleable> </resources>

0到27裡面的一個 還有就是剛才indiactor裡面一種你要的實現就行不算太複雜 so easy

那麼Eclipse的小夥伴怎麼操作呢?

那麼如何引用,設定呢?

 <com.wang.avi.AVLoadingIndicatorView
        android:id="@+id/avloadingIndicatorView"
        android:layout_width="wrap_content"  //or your custom size
        android:layout_height="wrap_content"  //or your custom size
        android:visibility="visible"  //visible or gone
        app:indicator="BallPulse"
        app:indicator_color="#000000"/>

程式碼裡開啟和關閉就.setVisibility(View.VISIBLE);或者.setVisibility(View.GONE);就行了。

原作者並沒有寫什麼StopAnim的操作 也沒必要。