hullabaloon
1/11/2018 - 4:35 AM

Countdown ve Alert animation using daimajia.androidanimations library and iwgang.countdownview library

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!");

            }
        });
    }
}