如何延迟NavigationView图标可见性

时间:2016-07-15 09:48:26

标签: android android-layout android-animation fadein android-navigationview

我看到了一个应用,其{{1}}中的图标行为延迟了它的可见性(Fade In-animation),但我的手机API却是19。

我的问题是,如何访问这些图标以延迟其可见性?是否可以在不使用第三方库的情况下实施它?

1 个答案:

答案 0 :(得分:1)

对于您在Java中的视图,您可以执行以下操作 -

Animation fadeIn = new AlphaAnimation(0, 1);
fadeIn.setInterpolator(new DecelerateInterpolator()); //add this
fadeIn.setDuration(1000);

Animation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setInterpolator(new AccelerateInterpolator()); //and this
fadeOut.setStartOffset(1000);
fadeOut.setDuration(1000);

AnimationSet animation = new AnimationSet(false); //change to false
animation.addAnimation(fadeIn);
animation.addAnimation(fadeOut);
View.startAnimation(animation);

如果您想要只使用一个。 你甚至可以通过调用它来阻止它

View.clearAnimation();

或其他方式

对于XML,在res/anim文件夹中创建一个文件,假设名称为fadein.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
  android:interpolator="@android:anim/linear_interpolator">
  <alpha
      android:fromAlpha="0.1"
      android:toAlpha="1.0"
      android:duration="2000"
      />
</set>

在java中

动画animationFadeIn = AnimationU

tils.loadAnimation(this, R.anim.fadein);
View.startAnimation(animationFadeOut);

在导航变为可见的方法中使用startAnimation()