Android 炫酷的多重水波紋 MultiWaveHeader

自去年第一次發(fā)布開(kāi)源庫(kù)SmartRefreshLayout以來(lái)霉撵,深刻的感受到了開(kāi)源的樂(lè)趣浙于。
所以打算以后開(kāi)發(fā)過(guò)程中把一些自己實(shí)現(xiàn)的實(shí)用開(kāi)源庫(kù)也開(kāi)源出來(lái),供大家使用堂湖、討論闲先、升級(jí)。
MultiWaveHeader 便是第二個(gè)發(fā)布的開(kāi)源庫(kù)无蜂!先來(lái)看看下面的展示效果吧饵蒂。

Demo

下載 APK-Demo

項(xiàng)目地址:
github/MultiWaveHeader

特性

MultiWaveHeader 是一個(gè)可以高度定制每一條水波、且隨意增加水波數(shù)量的 Android 水波開(kāi)源庫(kù)酱讶。
從而可以通過(guò)使用者自己的創(chuàng)意定制退盯,可以使用在不同的頁(yè)面場(chǎng)景。
目前 github 能搜索到的比較流行的水波開(kāi)源庫(kù)泻肯,如:tangqi92/WaveLoadingView渊迁、john990/WaveViewgelitenight/WaveView 等目前看起來(lái)對(duì)水波本身的可定制程度不高灶挟,都是固定兩條水波琉朽。

控制臺(tái)

方向

頂部 底部

數(shù)量

一對(duì) 單一

使用

1.在 build.gradle 中添加依賴(lài)

compile 'com.scwang.wave:MultiWaveHeader:1.0.0-alpha-1'

2.在XML布局文件中添加 MultiWaveHeader

<com.scwang.wave.MultiWaveHeader
    android:id="@+id/waveHeader"
    android:layout_width="match_parent"
    android:layout_height="200dp">

屬性

可以配置一些基本的屬性.

java
    MultiWaveHeader waveHeader = findViewById(R.id.waveHeader);

    waveHeader.setStartColor(R.color.colorPrimary);
    waveHeader.setCloseColor(R.color.colorPrimaryDark);
    waveHeader.setColorAlpha(.5f);

    waveHeader.setWaveHeight(50);
    waveHeader.setGradientAngle(360);
    waveHeader.setProgress(.8f);
    waveHeader.setVelocity(1f);
    waveHeader.setScaleY(-1f);

    waveHeader.setWaves("PairWave");

    waveHeader.start();
    waveHeader.stop();
    waveHeader.isRunning();
xml
    <com.scwang.wave.MultiWaveHeader
        android:id="@+id/waveHeader"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:scaleY="-1"
        app:mwhVelocity="1"
        app:mwhProgress="1"
        app:mwhRunning="true"
        app:mwhGradientAngle="45"
        app:mwhWaveHeight="50dp"
        app:mwhColorAlpha="0.45"
        app:mwhStartColor="@color/colorPrimaryDark"
        app:mwhCloseColor="@color/colorPrimaryLight"
        app:mwhWaves="MultiWave">

精準(zhǔn)定制

MultiWaveHeader 可以精準(zhǔn)定制每一條水波的參數(shù):偏移量、拉伸量稚铣、運(yùn)動(dòng)速度和方向箱叁。

java
    MultiWaveHeader waveHeader = findViewById(R.id.waveHeader);


    String[] waves = new String[]{
        "70,25,1.4,1.4,-26",//wave-1:offsetX(dp),offsetY(dp),scaleX,scaleY,velocity(dp/s)
        "100,5,1.4,1.2,15",
        "420,0,1.15,1,-10",//wave-3:水平偏移(dp),豎直偏移(dp),水平拉伸,豎直拉伸,速度(dp/s)
        "520,10,1.7,1.5,20",
        "220,0,1,1,-15",
    };
    waveHeader.setWaves(TextUtils.join(" ", Arrays.asList(waves)));// custom
    waveHeader.setWaves("PairWave");// default two waves
    waveHeader.setWaves("MultiWave");// default five waves

xml
    <com.scwang.wave.MultiWaveHeader
        android:id="@+id/waveHeader"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        app:mwhWaves="PairWave"
        app:mwhWaves="MultiWave"
        app:mwhWaves="
            70,25,1.4,1.4,-26
            100,5,1.4,1.2,15
            420,0,1.15,1,-10
            520,10,1.7,1.5,20
            220,0,1,1,-15">
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市惕医,隨后出現(xiàn)的幾起案子耕漱,更是在濱河造成了極大的恐慌,老刑警劉巖抬伺,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件螟够,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)妓笙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)若河,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人寞宫,你說(shuō)我怎么就攤上這事萧福。” “怎么了辈赋?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵统锤,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我炭庙,道長(zhǎng)饲窿,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任焕蹄,我火速辦了婚禮逾雄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘腻脏。我一直安慰自己鸦泳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布永品。 她就那樣靜靜地躺著做鹰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鼎姐。 梳的紋絲不亂的頭發(fā)上钾麸,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音炕桨,去河邊找鬼饭尝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛献宫,可吹牛的內(nèi)容都是我干的钥平。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼姊途,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼涉瘾!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起捷兰,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤立叛,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后寂殉,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體囚巴,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡原在,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年友扰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了彤叉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡村怪,死狀恐怖秽浇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情甚负,我是刑警寧澤柬焕,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站梭域,受9級(jí)特大地震影響斑举,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜病涨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一富玷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧既穆,春花似錦赎懦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至囊颅,卻和暖如春当悔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背踢代。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工先鱼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奸鬓。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓焙畔,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親串远。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宏多,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354