[embedyt] https://www.youtube.com/watch?v=tjERNKtUo6s[/embedyt]
Links & Dependenciesactivity_main.xmlMainActivity.java
Library on GitHub with dependency + instructions:
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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.codinginflow.kenburnsviewexample.MainActivity"> <com.flaviofaria.kenburnsview.KenBurnsView android:id="@+id/kbv" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/mountains" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout>
package com.codinginflow.kenburnsviewexample; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.animation.AccelerateDecelerateInterpolator; import android.widget.Toast; import com.flaviofaria.kenburnsview.KenBurnsView; import com.flaviofaria.kenburnsview.RandomTransitionGenerator; import com.flaviofaria.kenburnsview.Transition; public class MainActivity extends AppCompatActivity { private KenBurnsView kbv; private boolean moving = true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); kbv = findViewById(R.id.kbv); AccelerateDecelerateInterpolator adi = new AccelerateDecelerateInterpolator(); RandomTransitionGenerator generator = new RandomTransitionGenerator(2000, adi); kbv.setTransitionGenerator(generator); kbv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (moving) { kbv.pause(); moving = false; } else { kbv.resume(); moving = true; } } }); kbv.setTransitionListener(new KenBurnsView.TransitionListener() { @Override public void onTransitionStart(Transition transition) { Toast.makeText(MainActivity.this, "Started", Toast.LENGTH_SHORT).show(); } @Override public void onTransitionEnd(Transition transition) { Toast.makeText(MainActivity.this, "Finished", Toast.LENGTH_SHORT).show(); } }); } }