Awesome
多重水波纹 - MultiWaveHeader
English | 中文
MultiWaveHeader 是一个可以高度定制每个波形的Android水波控件。
功能特点
- 支持调节进度.
- 支持调节速度.
- 支持设置方向(上下).
- 支持设置水波的数量(无上限).
- 支持精确定义水波的参数(偏移、拉伸、原始速度).
- 支持设置颜色渐变和改变渐变方向.
演示
每天领红包
最近开通了支付宝商家,生成了个红包二维码,经常用支付宝的童鞋可有扫码领优惠红包,扫码只会拿红包,不会有任何损失,每天都可以扫码哦!
实战
控制台
方向
顶部 | 底部 |
---|---|
一对 | 单一 |
---|---|
简单用例
1.在 build.gradle 中添加依赖
implementation 'com.scwang.wave:MultiWaveHeader:1.0.0'
//androidx
implementation 'com.scwang.wave:MultiWaveHeader:1.0.0-andx'
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"/>
自定义
可以高度定制每一条水波.
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"/>
其他作品
SmartRefreshLayout
SmartRefreshHorizontal
License
Copyright 2017 scwang90
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.