【问题标题】:How To Delay NavigationView Icons Visibility如何延迟 NavigationView 图标的可见性
【发布时间】:2016-07-15 09:48:25
【问题描述】:

我看到一个应用程序,它在navigationView 中的图标行为延迟了它的可见性(淡入动画),但我的手机 API 是 19。

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

【问题讨论】:

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


    【解决方案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);
    

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

    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()

    【讨论】:

    • 我会先测试一下,谢谢你的时间。顺便说一下 tils 和 View 是什么,请参阅我的 navigationView。我没有动画背景,这是我的第一次。
    • View = 您的ImageView 放置图标的位置,或者甚至可以是您的TextView,但我绝对不会在NavigationView 上这样做,否则效果将在NavigationView而不是在需要的地方。
    猜你喜欢
    • 2014-12-21
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 2014-06-29
    • 2012-07-10
    相关资源
    最近更新 更多