【问题标题】:startAnimation without clicking button无需单击按钮即可开始动画
【发布时间】:2013-05-29 09:34:14
【问题描述】:

我正在尝试从布局到布局的动画。我尝试了这段代码并保存在一个方法中,但我没有被执行,即它没有把我带到另一个布局

这是我的代码

private void showNextScreen() {
    Animation animation = AnimationUtils.loadAnimation(context,
            R.anim.push_left_in);
    animation.setAnimationListener(new AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {
        }

        @Override
        public void onAnimationRepeat(Animation animation) {
        }

        @Override
        public void onAnimationEnd(Animation animation) {

            startActivity(new Intent(context, MainLoginSignUpActivity.class));
            finish();
            overridePendingTransition(R.anim.push_left_in,
                    R.anim.push_left_out);
        }
    });// What to add here "startAnimation(animation);" --> But this shows error how to add it
}

在此之前,我从这段代码调用这个方法

context = this;
        new CountDownTimer(3000, 1000) {
            @Override
            public void onFinish() {
                showNextScreen();
            }

            @Override
            public void onTick(long millisUntilFinished) {
            }
        }.start();

请帮助解决这个问题。提前致谢

【问题讨论】:

  • 你没有开始你的动画......
  • @njzk2 如何启动动画... 我试过这样 startAnimation(animation);但它显示错误

标签: android android-layout animation layout android-animation


【解决方案1】:

我用这种方式显示动画。查看代码

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.welcomescreen);


    new Handler().postDelayed(new Runnable() {

    public void run() {

        Intent mainIntent = new Intent(MainActivity.this,LoginScreen.class);
        MainActivity.this.startActivity(mainIntent);
        MainActivity.this.finish();
        overridePendingTransition(R.anim.mainfadein, R.anim.splashfadeout);
        }
    }, CommonVariables.SPLASH_DISPLAY_TIME);

} }

这里是动画 xml:mainfadein.xml

<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:fromAlpha="0.0"
    android:toAlpha="1.0"
    android:duration="1000"/>

和 splashfadeout.xml

<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:zAdjustment="top"
    android:fromAlpha="1.0"
    android:toAlpha="0.0"
    android:duration="1000"/>

【讨论】:

  • 以上代码中的“CommonVariables”是什么。我无法在最后一行代码中获得“CommonVariables”.SPLASH_DISPLAY_TIME 的变量初始化
  • 您可以将其硬编码为 3000 。那只是我存储静态变量的一个普通类
猜你喜欢
  • 1970-01-01
  • 2017-09-29
  • 2017-03-22
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
  • 2020-12-31
相关资源
最近更新 更多