用动画android / java

时间:2016-12-11 17:08:41

标签: android android-activity android-animation

当我使用startActivity并且我不知道它很奇怪时,第一个活动上的动画不起作用。

public class MainActivity extends AppCompatActivity {

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

        getSupportActionBar().hide();

        ImageView img = (ImageView) findViewById(R.id.splash);
        img.animate().scaleX(0.6f).scaleY(0.6f).rotation(1080f).setDuration(2000);
        Intent intent = new Intent(getApplicationContext(), NextActivity.class);
        startActivity(intent);
    }
}

4 个答案:

答案 0 :(得分:1)

使用此功能。

{{1}}

答案 1 :(得分:0)

我希望您尝试在某个时间显示APP徽标的缩放和旋转动画,然后尝试启动另一个活动。

由于您正在启动另一个活动,在Imageview上开始动画之前,ActivityManager将切换到下一个动画,因此您无法看到动画, 解决方案是将Animationlistner设置为赋予ImageView的ViewPropertyAnimator对象,并在onAnimationEnd()回调上启动主Activity。

代码段如下:

    img.animate().scaleX(0.6f).scaleY(0.6f).rotation(1080f).setDuration(2000).setListener(new AnimatorListener() {

        @Override
        public void onAnimationStart(Animator animation) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onAnimationRepeat(Animator animation) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onAnimationEnd(Animator animation) {
            Intent intent=new Intent(getApplicationContext(),NextActivity.class);
            startActivity(intent);

        }

        @Override
        public void onAnimationCancel(Animator animation) {
            // TODO Auto-generated method stub

        }
    });

答案 2 :(得分:0)

检查一下,

Intent intent=new Intent(this,NextActivity.class);
startActivity(intent);

答案 3 :(得分:0)

@Zakaria Ait Ouchrif,

您可以使用Activity overridePendingTransition()的方法和两个xml的in和out动画。

您可以在XML资源文件中定义简单的过渡动画。

您也可以将this tutorial视为相同的内容。