Анимация и setVisibility

У меня есть LinearLayout, что я хочу показать / скрыть, щелкнув ссылку «подробнее». Я делаю это, позвонив

moreDetailsSection.setVisibility(View.VISIBLE); 

или

 moreDetailsSection.setVisibility(View.GONE); 

Показать / скрыть его. Это отлично работает, но я хотел добавить анимацию, которая делает поля макета слайдами красиво, но это выполняется только в первый раз, когда поле становится видимым, если я его скрою и снова покажу, поле просто появляется внезапно , Вот код анимации (moreDetailsSection – это макет, о котором идет речь):

  AnimationSet set = new AnimationSet(true); Animation animation = new AlphaAnimation(0.0f, 1.0f); animation.setDuration(250); set.addAnimation(animation); animation = new TranslateAnimation( Animation.RELATIVE_TO_SELF, 1.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f ); animation.setDuration(150); set.addAnimation(animation); LayoutAnimationController controller = new LayoutAnimationController(set, 0.25f); moreDetailsSection.setLayoutAnimation(controller); 

Любые советы о том, как сделать этот запуск? В какое-то время я показываю макет и не только в первый раз?

Solutions Collecting From Web of "Анимация и setVisibility"

Я предполагаю, что theDetailsSection сначала НЕВИДИМО. Вам просто нужно создать объект Animation и вызвать следующий код при нажатии ссылки на более подробную информацию.

 moreDetailsSection.startAnimation(animation); moreDetailsSection.setVisibility(View.VISIBLE); 

Вы можете использовать эту строку в своем представлении для этого макета:

 android:animateLayoutChanges="true"