Android : animateLayoutChanges=true 設定時の duration (アニメーション速度), delay の変更
コード上から getLayoutTransition() で LayoutTransition を取得して、setDuration(long duration) 及び setStartDelay(int type, long delay) を呼びます。
xml で設定する方法はなさそうです。
getLayoutAnimarion ではないことに注意。
<RelativeLayout android:id="@+id/rl_with_anim" android:layout_width="match_parent" android:layout_height="wrap_content" android:animateLayoutChanges="true"> ...
RelativeLayout rl = (RelativeLayout) view.findViewById(R.id.rl_with_anim); LayoutTransition lt = cardRoot.getLayoutTransition(); lt.setDuration(250); lt.setStartDelay(LayoutTransition.APPEARING, 0); lt.setStartDelay(LayoutTransition.DISAPPEARING, 0); lt.setStartDelay(LayoutTransition.CHANGE_APPEARING, 0); lt.setStartDelay(LayoutTransition.CHANGE_DISAPPEARING, 0);
「ニュースと天気」アプリで見られる Expand 時に Card が「にょいーん」と伸びるアニメーションなどが animateLayoutChanges 1つで実現できるとは。。。効果的に使ってみたいものです。