TransitionDrawable
Add transition or Cross-fade between two images.
Section titled “Add transition or Cross-fade between two images.”Step 1: Create a transition drawable in XML
Section titled “Step 1: Create a transition drawable in XML”Save this file transition.xml in res/drawable folder of your project.
<transition xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/image1"/> <item android:drawable="@drawable/image2"/></transition>The image1 and image2 are the two images that we want to transition and they should be put in your res/drawable folder too.
Step 2: Add code for ImageView in your XML layout to display the above drawable.
Section titled “Step 2: Add code for ImageView in your XML layout to display the above drawable.”<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" >
<ImageView android:id="@+id/image_view" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/image1"/>
</LinearLayout>Step 3: Access the XML transition drawable in onCreate() method of your Activity and start transition in onClick() event.
Section titled “Step 3: Access the XML transition drawable in onCreate() method of your Activity and start transition in onClick() event.”@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.image_view); transitionDrawable = (TransitionDrawable) ContextCompat.getDrawable(this, R.drawable.transition);
birdImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View view) { birdImageView.setImageDrawable(transitionDrawable); transitionDrawable.startTransition(1000); } });}Animate views background color (switch-color) with TransitionDrawable
Section titled “Animate views background color (switch-color) with TransitionDrawable”public void setCardColorTran(View view) { ColorDrawable[] color = {new ColorDrawable(Color.BLUE), new ColorDrawable(Color.RED)}; TransitionDrawable trans = new TransitionDrawable(color); if(Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN) { view.setBackgroundDrawable(trans); }else { view.setBackground(trans); } trans.startTransition(5000);}