編寫:XizhiXu - 原文:http://developer.android.com/training/animation/layout.html
布局動畫是一種預(yù)加載動畫,系統(tǒng)在每次改變布局配置時運行它。我們需要做的僅是在布局文件里設(shè)置屬性告訴Android系統(tǒng)為這些布局的變更應(yīng)用動畫,然后系統(tǒng)的默認(rèn)動畫便會執(zhí)行。
小貼士: 如果你想補充自定義布局動畫,創(chuàng)建
LayoutTransition對象,然后用setLayoutTransition()方法把它加到布局中。
下面的例子在一個list中添加一項的默認(rèn)布局動畫:
<div style="
background: transparent url(device_galaxynexus_blank_land_span8.png) no-repeat
scroll top left; padding: 26px 68px 38px 72px; overflow: hidden;">
<video style="width: 320px; height: 180px;" controls="" autoplay="">
<source src="anim_layout_changes.mp4" type="video/mp4">
<source src="anim_layout_changes.mp4" type="video/mp4">
<source src="anim_layout_changes.ogv" type="video/ogg">
</video>
</div>
如果你想直接查看整個例子,下載 App 樣例并運行然后選擇布局漸變的例子。查看下列文件中的代碼實現(xiàn):
src/LayoutChangesActivity.javalayout/activity_layout_changes.xmlmenu/activity_layout_changes.xml在Activity的XML布局文件中,為想開啟動畫的布局設(shè)置android:animateLayoutChanges屬性為true。例如:
<LinearLayout android:id="@+id/container"
android:animateLayoutChanges="true"
...
/>
現(xiàn)在,我們需要做的就是添加,刪除或更新布局里的項目,然后這些項目就會自動顯示動畫:
private ViewGroup mContainerView;
...
private void addItem() {
View newView;
...
mContainerView.addView(newView, 0);
}