WaveLoadingView - 一个Android库帮你轻松实现波浪式加载
jopen
10年前
WaveLoadingView 是一个Android库帮你轻松实现波浪式加载,提供高度定制(各种姿势),总有一种玩法适合你。
Sample
Usage
For a working implementation of this project see thesample/folder.
Setp 1
Include the library as local library project or add the dependency in your build.gradle.
dependencies { compile 'me.itangqi.waveloadingview:library:0.1.2' }
Step 2
Include the WaveLoadingView widget in your layout. And you can customize it like this.
<me.itangqi.waveloadingview.WaveLoadingView android:id="@+id/waveLoadingView" android:layout_width="wrap_content" android:layout_height="wrap_content" app:borderWidth="3" app:borderColor="@color/colorAccent" app:progressValue="40" app:shapeType="circle" app:waveColor="@color/colorAccent" app:waveAmplitude="50" app:titleTop="Top Title" app:titleTopColor="@color/colorPrimaryText" app:titleTopSize="20" app:titleCenter="Center Title" app:titleCenterColor="@color/colorPrimaryText" app:titleCenterSize="24" app:titleBottom="Bottom Title" app:titleBottomColor="@color/colorPrimaryText" app:titleBottomSize="20"
Step 3
Absolutely,you can write some animation codes to the callbacks such as setOnCheckedChangeListener, onProgressChanged, etc in your Activity.
WaveLoadingView mWaveLoadingView = (WaveLoadingView) findViewById(R.id.waveLoadingView); mWaveLoadingView.setShapeType(WaveLoadingView.ShapeType.CIRCLE); mWaveLoadingView.setTopTitle("Top Title"); mWaveLoadingView.setCenterTitleColor(Color.GRAY); mWaveLoadingView.setBottomTitleSize(18); mWaveLoadingView.setProgress(80); mWaveLoadingView.setBorderWidth(10); mWaveLoadingView.setAmplitudeRatio(60); mWaveLoadingView.setWaveColor(Color.GRAY); mWaveLoadingView.setBorderColor(Color.GRAY);
Customization
Do what you what :)
- app:borderWidth(integer) Default to be 0
- app:borderColor(color)
- app:progressValue(integer) Set ProgressValue
- app:shapeType(circle/square) Default to be circle
- app:waveColor(color)
- app:waveAmplitude(integer) Set Wave Amplitude (between 1 and 100)
- app:titleTopSize(float)
- app:titleCenterSize(float)
- app:titleBottomSize(float)
- app:titleTopColor(color)
- app:titleCenterColor(color)
- app:titleBottomColor(color)
- app:titleTop(string) default to be ""
- app:titleCenter(string)
- app:titleBottom(string)