在Android應用開發的時候經常會用到View的setVisibility()方法來動態隱藏和顯示view,但是這樣子是沒有過渡動畫的,變化的時候會顯得很生硬。
LayoutTransition是一個在4.0新引入的Api,主要功能是在ViewGroup的layout發生變化的時候能夠自動創建動畫。具體使用的時候,首先創建一個LayoutTransition對象,并在容器布局調用setLayoutTransition(LayoutTransition)方法。這樣,每當有子view從容器中出現或消失的時候,默認的animator就會被自動調用。當然,你也可以通過setAnimator()來設置自定義的動畫。
ViewGroup container = (ViewGroup) findViewById(R.id.container);
LayoutTransition transition = new LayoutTransition();
container.setLayoutTransition(transition);
此外還有一個更簡單地使用方法,在xml文件中我們在容器的中下面一句代碼:
android:animateLayoutChanges="true"
在4.1 JellyBean上還有一個增強的功能,可以在容器內的子view的layout發生變化時也播放動畫,用法如下。
LayoutTransition transition = container.getLayoutTransition();
transition.enableTransitionType(LayoutTransition.CHANGING);
類型:轉載
原創作者:甲骨文
鏈接:http://www.lxweimin.com/p/a03013850ccb