持续时间为零的Android动画

时间:2018-07-01 07:55:50

标签: android animation

我正在使用以下代码为视图的隐藏设置动画(根据其他问题应该可以):

final RelativeLayout oSurfaceLayout = findViewById(R.id.surface_layout);
                    oSurfaceLayout.animate().alpha(0).setDuration(2000).withEndAction(new Runnable() {
                        @Override
                        public void run() {
                            oSurfaceLayout.setVisibility(View.GONE);
                        }
                    });

但是,我实际上没有任何动画:该视图立即消失,并且两秒钟后正确调用了结束动作。

问题出在哪里?

1 个答案:

答案 0 :(得分:0)

仅运行 Runnable 而不调用动画,此代码不起作用。

如果要显示动画,则必须在 res / anim 文件夹中创建 fade.xml 这样的xml文件

<?xml version="1.0" encoding="utf-8"?> 
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
   android:fromAlpha="1.0" 
   android:toAlpha="0.0" 
   android:duration="2000"    
/>

并将其添加到Java

oSurfaceLayout.startAnimation(AnimationUtils.loadAnimation(co‌​ntext, R.anim.fade));