项目作者: scwang90

项目描述 :
Wave,水波,Android 炫酷的多重水波纹 MultiWaveHeader
高级语言: Java
项目地址: git://github.com/scwang90/MultiWaveHeader.git


多重水波纹 - MultiWaveHeader

License
JCenter
MinSdk
Platform
Author

English | 中文

MultiWaveHeader 是一个可以高度定制每个波形的Android水波控件。

功能特点

  • 支持调节进度.
  • 支持调节速度.
  • 支持设置方向(上下).
  • 支持设置水波的数量(无上限).
  • 支持精确定义水波的参数(偏移、拉伸、原始速度).
  • 支持设置颜色渐变和改变渐变方向.

演示

Download APK-Demo

每天领红包

最近开通了支付宝商家,生成了个红包二维码,经常用支付宝的童鞋可有扫码领优惠红包,扫码只会拿红包,不会有任何损失,每天都可以扫码哦!

支付宝红包

实战

控制台

方向

顶部 底部

||

一对 单一

||

简单用例

1.在 build.gradle 中添加依赖

  1. implementation 'com.scwang.wave:MultiWaveHeader:1.0.0'
  2. //androidx
  3. implementation 'com.scwang.wave:MultiWaveHeader:1.0.0-andx'

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

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

属性

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

java
  1. MultiWaveHeader waveHeader = findViewById(R.id.waveHeader);
  2. waveHeader.setStartColor(R.color.colorPrimary);
  3. waveHeader.setCloseColor(R.color.colorPrimaryDark);
  4. waveHeader.setColorAlpha(.5f);
  5. waveHeader.setWaveHeight(50);
  6. waveHeader.setGradientAngle(360);
  7. waveHeader.setProgress(.8f);
  8. waveHeader.setVelocity(1f);
  9. waveHeader.setScaleY(-1f);
  10. waveHeader.setWaves("PairWave");
  11. waveHeader.start();
  12. waveHeader.stop();
  13. waveHeader.isRunning();
xml
  1. <com.scwang.wave.MultiWaveHeader
  2. android:id="@+id/waveHeader"
  3. android:layout_width="match_parent"
  4. android:layout_height="200dp"
  5. android:scaleY="-1"
  6. app:mwhVelocity="1"
  7. app:mwhProgress="1"
  8. app:mwhRunning="true"
  9. app:mwhGradientAngle="45"
  10. app:mwhWaveHeight="50dp"
  11. app:mwhColorAlpha="0.45"
  12. app:mwhStartColor="@color/colorPrimaryDark"
  13. app:mwhCloseColor="@color/colorPrimaryLight"
  14. app:mwhWaves="MultiWave"></com.scwang.wave.MultiWaveHeader>

自定义

可以高度定制每一条水波.

java
  1. MultiWaveHeader waveHeader = findViewById(R.id.waveHeader);
  2. String[] waves = new String[]{
  3. "70,25,1.4,1.4,-26",//wave-1:offsetX(dp),offsetY(dp),scaleX,scaleY,velocity(dp/s)
  4. "100,5,1.4,1.2,15",
  5. "420,0,1.15,1,-10",//wave-3:水平偏移(dp),竖直偏移(dp),水平拉伸,竖直拉伸,速度(dp/s)
  6. "520,10,1.7,1.5,20",
  7. "220,0,1,1,-15",
  8. };
  9. waveHeader.setWaves(TextUtils.join(" ", Arrays.asList(waves)));// custom
  10. waveHeader.setWaves("PairWave");// default two waves
  11. waveHeader.setWaves("MultiWave");// default five waves
xml
  1. <com.scwang.wave.MultiWaveHeader
  2. android:id="@+id/waveHeader"
  3. android:layout_width="match_parent"
  4. android:layout_height="200dp"
  5. app:mwhWaves="PairWave"
  6. app:mwhWaves="MultiWave"
  7. app:mwhWaves="
  8. 70,25,1.4,1.4,-26
  9. 100,5,1.4,1.2,15
  10. 420,0,1.15,1,-10
  11. 520,10,1.7,1.5,20
  12. 220,0,1,1,-15"></com.scwang.wave.MultiWaveHeader>

其他作品

SmartRefreshLayout
SmartRefreshHorizontal

License

  1. Copyright 2017 scwang90
  2. Licensed under the Apache License, Version 2.0 (the "License");
  3. you may not use this file except in compliance with the License.
  4. You may obtain a copy of the License at
  5. http://www.apache.org/licenses/LICENSE-2.0
  6. Unless required by applicable law or agreed to in writing, software
  7. distributed under the License is distributed on an "AS IS" BASIS,
  8. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  9. See the License for the specific language governing permissions and
  10. limitations under the License.