Android 启动活动时设置setInAnimation和setOutAnimation
我有以下情况Android 启动活动时设置setInAnimation和setOutAnimation,android,Android,我有以下情况 TabActivity>group activiyt>(A->B->C) 这里A、B和C是活动。我就这样装填 setContentView(this,getLocalActivityManager().startActivity("zero",intent.addFlags(Intent.FLG_ACTIVITY_CLEAR_TOP)) .getDecorView()); 当我将一个活动更改为另一个活动时,我需要设置动画(从左/右滑动) 当前me在新视
TabActivity>group activiyt>(A->B->C)
这里A、B和C是活动。我就这样装填
setContentView(this,getLocalActivityManager().startActivity("zero",intent.addFlags(Intent.FLG_ACTIVITY_CLEAR_TOP)) .getDecorView());
当我将一个活动更改为另一个活动时,我需要设置动画(从左/右滑动)当前me在新视图中使用了以下动画
setContentView
public static Animation inFromRightAnimation() {
Animation inFromRight = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, +1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f);
inFromRight.setDuration(ANIMATIION_DURATION);
inFromRight.setInterpolator(new AccelerateInterpolator());
return inFromRight;
}
但它只对新视图进行动画处理。我需要像当前一样向左移动,同时从右移动新的移动
是否有任何方法可以在startActivity(如view flipper)中设置
setInAnimation
和setOutAnimation
谢谢您可以在活动之间制作过渡动画。下面是一个示例,用于在5秒钟后在游戏中的启动(LaunchActivity)屏幕和主菜单屏幕之间进行自定义动画转换:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
/* Create an intent that will start the main activity. */
Intent mainIntent = new Intent(LaunchActivity.this,
MainMenuActivity.class);
LaunchActivity.this.startActivity(mainIntent);
/* Finish splash activity so user cant go back to it. */
LaunchActivity.this.finish();
/* Apply our splash exit (fade out) and main
entry (fade in) animation transitions. */
overridePendingTransition(R.anim.mainfadein,R.anim.splashfadeout);
}
}, 5000);
在这里,动画是在xml文件中定义的,但是您可以在代码中创建它们,就像您已经在做一样
您的翻译xml文件应该保存在res中的anim文件夹中,可能如下所示:
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate
android:fromXDelta="100%p"
android:toXDelta="0"
android:duration="1000" />
</set>
它将对象从屏幕100%宽度的右侧移动到左侧…您可以在活动之间进行过渡动画。下面是一个示例,用于在5秒钟后在游戏中的启动(LaunchActivity)屏幕和主菜单屏幕之间进行自定义动画转换:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
/* Create an intent that will start the main activity. */
Intent mainIntent = new Intent(LaunchActivity.this,
MainMenuActivity.class);
LaunchActivity.this.startActivity(mainIntent);
/* Finish splash activity so user cant go back to it. */
LaunchActivity.this.finish();
/* Apply our splash exit (fade out) and main
entry (fade in) animation transitions. */
overridePendingTransition(R.anim.mainfadein,R.anim.splashfadeout);
}
}, 5000);
在这里,动画是在xml文件中定义的,但是您可以在代码中创建它们,就像您已经在做一样
您的翻译xml文件应该保存在res中的anim文件夹中,可能如下所示:
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate
android:fromXDelta="100%p"
android:toXDelta="0"
android:duration="1000" />
</set>
它将一个对象从屏幕100%宽度的右侧移动到左侧…非常感谢。我要找的是超文本转换。但是现在默认的动画(左->右)产生了问题。如何防止这种情况您可以看看这个overridePendingTransition可以从API级别5开始访问。我想知道是否有任何可能在API级别4上进行转换?非常感谢。我要找的是超文本转换。但是现在默认的动画(左->右)产生了问题。如何防止这种情况您可以看看这个overridePendingTransition可以从API级别5开始访问。我想知道是否有可能在API级别4上进行转换?