Countdown ve Alert animation using daimajia.androidanimations library and iwgang.countdownview library
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.package.name"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
// AndroidViewAnimations dependecies
compile 'com.daimajia.easing:library:2.0@aar'
compile 'com.daimajia.androidanimations:library:2.3@aar'
// Countdown dependecies
compile 'com.github.iwgang:countdownview:2.1.6'
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.package.name.MainActivity">
<cn.iwgang.countdownview.CountdownView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:id="@+id/cdview"
app:isHideTimeBackground="false"
app:isShowDay="false"
app:isShowMinute="false"
app:isShowHour="false"
app:isShowSecond="true"
app:isShowMillisecond="true"
app:timeTextColor="#fff"
app:timeTextSize="25sp"
app:isTimeTextBold="true"
app:suffixGravity="center"
app:suffixTextColor="@color/colorAccent"
app:suffixTextSize="15sp"
app:timeBgRadius="25dp"
app:timeBgSize="50dp"
app:timeBgColor="@color/colorPrimary"
/>
<TextView
android:id="@+id/tv_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/cdview"
android:layout_centerHorizontal="true"
android:layout_marginTop="70dp"
android:textColor="@android:color/black"
android:textSize="20sp"
android:textStyle="bold" />
</RelativeLayout>
package com.package.name;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import cn.iwgang.countdownview.CountdownView;
import com.daimajia.androidanimations.library.Techniques;
import com.daimajia.androidanimations.library.YoYo;
public class MainActivity extends AppCompatActivity {
CountdownView countdownView;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
countdownView = (CountdownView) findViewById(R.id.cdview);
tv = (TextView) findViewById(R.id.tv_info);
tv.setText("Counting Down...");
countdownView.start(3000);
countdownView.setOnCountdownEndListener(new CountdownView.OnCountdownEndListener() {
@Override
public void onEnd(CountdownView cv) {
YoYo.with(Techniques.Tada)
.duration(700)
.playOn(findViewById(R.id.tv_info));
tv.setText("Time Ended!");
}
});
}
}