page.title=Animating Layout Changes trainingnavtop=true @jd:body
A layout animation is a pre-loaded animation that the system runs each time you make a change to the layout configuration. All you need to do is set an attribute in the layout to tell the Android system to animate these layout changes, and system-default animations are carried out for you.
Tip: If you want to supply custom layout animations, create a {@link android.animation.LayoutTransition} object and supply it to the layout with the {@link android.view.ViewGroup#setLayoutTransition setLayoutTransition()} method.
Here's what a default layout animation looks like when adding items to a list:If you want to jump ahead and see a full working example, download and run the sample app and select the Crossfade example. See the following files for the code implementation:
src/LayoutChangesActivity.java
layout/activity_layout_changes.xml
menu/activity_layout_changes.xml
In your activity's layout XML file, set the android:animateLayoutChanges
attribute to true
for the layout that you want to enable animations for.
For instance:
<LinearLayout android:id="@+id/container" android:animateLayoutChanges="true" ... />
Now, all you need to do is add, remove, or update items in the layout and the items are animated automatically:
private ViewGroup mContainerView; ... private void addItem() { View newView; ... mContainerView.addView(newView, 0); }