【问题标题】:FAB does not animate - test code and screenshot attachedFAB 没有动画 - 附上测试代码和屏幕截图
【发布时间】:2015-10-24 17:59:19
【问题描述】:

我已经为我的问题准备了a simple test project at GitHub

我试图通过MainActivity.java 中的以下代码每 5 秒显示/隐藏一个 FloatingActionButton(又名 FAB):

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mFab = (FloatingActionButton) findViewById(R.id.fab);

    mInAnimation = AnimationUtils.makeInAnimation(this, false);
    mInAnimation.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationEnd(Animation animation) {
        }

        @Override
        public void onAnimationRepeat(Animation animation) {
        }

        @Override
        public void onAnimationStart(Animation animation) {
            mFab.setVisibility(View.VISIBLE);
        }
    });

    mOutAnimation = AnimationUtils.makeOutAnimation(this, true);
    mOutAnimation.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationEnd(Animation animation) {
            mFab.setVisibility(View.INVISIBLE);
        }

        @Override
        public void onAnimationRepeat(Animation animation) {
        }

        @Override
        public void onAnimationStart(Animation animation) {
        }
    });

    run();
}

Runnable 输出(“切换动画”)每 5 秒出现在 ADB 日志中,但 FAB 始终可见:

@Override
public void run() {
    Log.d("MyCoordinator", "Toggle animation");
    mFab.setAnimation(mFab.isShown() ? mOutAnimation : mInAnimation);
    mHandler.postDelayed(this, 5000);
}

有人知道吗,这里缺少什么?

我也很好奇,是否可以在activity_main.xml而不是Java代码中定义上述动画。

【问题讨论】:

    标签: android android-animation repeat floating-action-button


    【解决方案1】:

    我宁愿使用mFab.startAnimation(mFab.isShown() ? mOutAnimation : mInAnimation) 而不是mFab.setAnimation(mFab.isShown() ? mOutAnimation : mInAnimation);。使用setAnimation,您必须定义动画的开始时间(这可能是您所缺少的)

    【讨论】:

    • 就是这样,谢谢(+1)你认为这个动画可以用XML定义吗?
    • 应该可以,使用set。虽然我没有太多经验。您可以查看系统定义的动画。然后是android.R.anim的一部分
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多