动画和setVisibility

Ale*_*scu 20 animation android

我有一个LinearLayout,我希望能够通过点击"更多详细信息"链接来显示/隐藏.我是通过打电话来做的

moreDetailsSection.setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)

要么

moreDetailsSection.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)

显示/隐藏它.这工作正常,但我想添加一个动画,使布局字段很好地滑动,但这只是在第一次使字段可见时运行,如果我隐藏它并再次显示该字段只是突然出现.这是动画代码(moreDetailsS​​ection是有问题的布局):

      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);
Run Code Online (Sandbox Code Playgroud)

关于如何使这个运行的任何建议我每次显示布局而不仅是第一次?

was*_*aig 14

我假设moreDetailsS​​ection最初是INVISIBLE.您只需创建Animation对象,并在单击更多详细信息链接时调用以下代码.

moreDetailsSection.startAnimation(animation);
moreDetailsSection.setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)