這不是一個答案,但一個隨時可以使用的代碼片斷您可以嘗試檢查發生了什麼。
mContainer = (ViewGroup) v.findViewById(R.id.container);
if (Build.VERSION.SDK_INT >= 11) {
mLayoutTransition = mContainer.getLayoutTransition();
if (mLayoutTransition != null) {
mLayoutTransition.addTransitionListener(new LayoutTransition.TransitionListener() {
@Override
public void startTransition(LayoutTransition transition, ViewGroup container, View view, int transitionType) {
Log.d("\n\n startTransition: in "+container+" view "+view+" type "+ descr(transitionType));
}
@Override
public void endTransition(LayoutTransition transition, ViewGroup container, View view, int transitionType) {
Log.d("\n\n endTransition: in "+container+" view "+view+" type "+ descr(transitionType));
}
String descr(int transitionType) {
String[] m = new String[]{"CHANGE_APPEARING","CHANGE_DISAPPEARING","APPEARING","DISAPPEARING"};
return "" + transitionType + ": " + m[transitionType&3] + " changing="+(transitionType&LayoutTransition.CHANGING);
}
});
}
}
對於我來說,容器視圖是LinearLayout
和感興趣的事件是:
public void endTransition(LayoutTransition transition, ViewGroup container, View view, int transitionType) { // UI thread
if (transitionType == LayoutTransition.DISAPPEARING) {
// start 2nd animation, it will be done while another view is moved
}
}
你能告訴我們的動畫代碼,你如何動畫添加到視圖?必須有動畫偵聽器或LayoutTransformation偵聽器,它具有在動畫結束,動畫結束時通知您的事件。 –
根本沒有動畫代碼。如果您指定此屬性,框架將爲項目添加/刪除添加默認淡入淡出動畫。 – WonderCsabo