在一个屏幕中打开应用程序然后动画到另一个屏幕

时间:2013-01-15 22:26:14

标签: android android-animation

我最近刚刚开始使用android开发。

我想做的是,一旦应用程序打开;将出现带有徽标的屏幕,按住一秒钟,然后将其设置为另一个屏幕。

我设计了布局。我怎么去动画那2个? java部分是我不知道从哪里开始的地方。

提前致谢!

2 个答案:

答案 0 :(得分:2)

对于那些好奇并且想要相同的人 - 有一个启动页面挂起几秒钟,然后滑到一个活动。

这就是我实现代码的方式。我从其他用户那里找到了这个,所以我不能相信它,但是对于那些可能偶然发现它的人来说这会很好。

public class logoSplash extends Activity {
private static final int SPLASH_DISPLAY_TIME = 2000; // splash screen delay time

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.logo);

        new Handler().postDelayed(new Runnable() {
            public void run() {

            Intent intent = new Intent();
            intent.setClass(logoSplash.this, fieldsActivity.class);

            logoSplash.this.startActivity(intent);
            logoSplash.this.finish();

            // transition from splash to main menu
            overridePendingTransition(R.anim.right_slide_in, R.anim.right_slide_out);

            }
        }, SPLASH_DISPLAY_TIME);
    }
}  

答案 1 :(得分:0)

当您启动意图时使用overridePendingTransition(android.R.anim.slide_out_right, android.R.anim.slide_in_left);如果这不是您所能产生的效果,您可以将动画更改为android.R.anim中的其他动画,或者在XML中定义您自己的动画,而是指向您的动画文件夹R.anim

这是一个自定义动画的示例,您可以将其保存在res / anim /

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="0" android:toXDelta="-50%p"
        android:duration="@android:integer/config_shortAnimTime"/>
    <alpha android:fromAlpha="1.0" android:toAlpha="0.0"
        android:duration="@android:integer/config_shortAnimTime" />
</set>