AnimationUtils не анимирует 1 из моих пользовательских видов
У меня есть пользовательское представление с именем CardSlot, которое является частью макета, который я использую дважды в макете, примерно:
<LinearLayout>
<PlayerLayout 4 CardSlots defined... /> #Layout1
<LinearLayout 2 CardSlots defined/>
<PlayerLayout 4 CardSlots defined.../> #layout2
</LinearLayout>
Карта WarSlot изначально невидима. Я называю анимацию так:
GameFragment:
public void onEvent(GameMsg msg) {
switch (msg) {
case XXX:
for (int idx = playerLayouts.length-1; idx >= 0; idx--) {
playerLayouts[idx].animateWarCard(AnimationUtils.loadAnimation(getActivity(), android.R.anim.fade_in));
}
break;
}
}
PlayerLayout:
public void animateWarCard(Animation animation) {//TODO why no show for layout2???
Log.v(TAG, "animate? " + mdata.player.getClass().getSimpleName());
cardSlots[WARSLOT].setAnimation(animation);
animation.setStartTime(3500);
animation.setDuration(3500);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
Log.v(TAG, "onAnimationStart " + animation);
}
@Override
public void onAnimationEnd(Animation animation) {
Log.v(TAG, "onAnimationEnd " + animation);
cardSlots[WARSLOT].setVisibility(View.VISIBLE);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
animation.startNow();
Log.v(TAG, "started?");
}
Теперь анимация для layout1 работает нормально, но не запускается для layout2 (ни одно из сообщений журнала слушателя не отображается). Даже если я просто вызываю layout2 и пропускаю layout1, это не работает. Там нет ошибок или исключений, которые я вижу в журнале, даже нефильтрованные.
Любые идеи о том, что я должен искать или другой способ сделать звонки?