Skip to content

StevenDXC/DxLoadingButton

Repository files navigation

DxLoadingButton

android button to loading view with animation,and load successful/failed animation

API Codacy Badge

Demo:

image

with activity transition animation demo:

image

Usage:

layout:

<com.dx.dxloadingbutton.lib.LoadingButton
     android:id="@+id/loading_btn"
     android:layout_gravity="center"
     android:layout_width="228dp"
     android:layout_height="wrap_content"
     app:lb_resetAfterFailed="true"
     app:lb_btnRippleColor="#000000"
     app:lb_btnDisabledColor="#cccccc"
     app:lb_disabledTextColor="#999999"
     app:lb_cornerRadius="32"
     app:lb_rippleEnable="true"					  
     app:lb_btnText="@string/button_text"
/>

code:

LoadingButton lb = (LoadingButton)findViewById(R.id.loading_btn);
lb.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                lb.startLoading(); //start loading 
            }
});

show successful animation:

 lb.loadingSuccessful();

show failed animation:

 lb.loadingFailed();

cancel loading:

 lb.cancelLoading();

reset:

 lb.reset();

enable:

 lb.setEnable(true/false); 
  • notice: lb_btnDisabledColor & lb_disabledTextColor only display while LoadingButton is normal button state, LoadingButton is playing animation or other state will display normal color

image

backgroundShader:

lb.setBackgroundShader(new LinearGradient(0f,0f,1000f,100f, 0xAAE53935, 0xAAFF5722, Shader.TileMode.CLAMP));

cornerRadius:

lb.setCornerRadius(32f)

dependency

Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
	...
	maven { url 'https://jitpack.io' }
    }
}

add dependency:

dependencies {
    compile 'com.github.StevenDXC:DxLoadingButton:2.4'
}