LayoutAnimationController используется для анимации детей представления группыLayoutAnimationController не работает скрытия View Group, но работает, когда Отображение вида группы
я использовал LayoutAnimationController, чтобы показать элементы в LinearLayout с эффектом анимации один за другими, используя следующий код ,
Animation fadeIn = AnimationUtils.loadAnimation(context, R.anim.anim_fade_in);
//lnrContactContainer is LinearLayout.
AnimationSet set = new AnimationSet(true);
set.addAnimation(fadeIn);
set.setDuration(500);
controller = new LayoutAnimationController(set, 1f);
lnrContactContainer.setLayoutAnimation(controller);
lnrContactContainer.setVisibility(View.VISIBLE);
Но такой же подход не работает, когда я использую его, чтобы показать анимацию затухания, скрывая LinearLayoutlnrContactContainer.setVisibility(View.GONE)
;
Вместо того, чтобы прятать детей поодиночке, он скрывает родителя.
'set.setFillAfter (true); «Спасибо, что направил меня на это, у меня была проблема с детьми, которые снова появились. – DeltaCap
Только один вопрос: Почему я должен запускать анимацию вручную, используя 'lnrContactContainer.startLayoutAnimation();' в случае сокрытия 'ViewGroup', но не в случае его отображения? – DeltaCap
@Null n Void - в моем тестовом приложении я запускал оба типа анимации, нажимая кнопки. Оба раза: «lnrContactContainer.setLayoutAnimation (контроллер)»; был вызван, и анимация началась сразу же. ОК, разница в том, что я тестировал ListView, а не LinearLayout. Поэтому я не знаю, почему, но есть и другие различия между AdapterViews и «реальными» макетами. – 0X0nosugar