Android控制元件顯示、隱藏時,增加動畫效果
阿新 • • 發佈:2019-02-03
在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);