WaveLoadingView - 一个Android库帮你轻松实现波浪式加载

jopen 10年前

WaveLoadingView 是一个Android库帮你轻松实现波浪式加载,提供高度定制(各种姿势),总有一种玩法适合你。

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)

All attributes have their respective getters and setters to change them at runtime.

Demo

Download

项目主页:http://www.open-open.com/lib/view/home/1450191679782