我有以下情况
TabActivity>group activiyt>(A->B->C)
Run Code Online (Sandbox Code Playgroud)
这里A,B和C是活动.我加载这样的
setContentView(this,getLocalActivityManager().startActivity("zero",intent.addFlags(Intent.FLG_ACTIVITY_CLEAR_TOP)) .getDecorView());
Run Code Online (Sandbox Code Playgroud)
我需要的是当我将一个活动改为另一个活动时设置动画(从左/右滑动)?
目前我使用以下动画,后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;
}
Run Code Online (Sandbox Code Playgroud)
但它只对新视图进行动画制作.
我需要当前的左移同时从右移动新的移动
有没有办法设置setInAnimation和setOutAnimationstartActivity像视图翻板?
谢谢
您可以在活动之间进行过渡动画.下面是一个示例,用于在启动(LaunchActivity)屏幕和游戏中的主菜单屏幕之间的5秒后进行自定义动画过渡:
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);
Run Code Online (Sandbox Code Playgroud)
这里的动画是在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>
Run Code Online (Sandbox Code Playgroud)
它将一个物体从屏幕的右边100%宽度移动到左边......
| 归档时间: |
|
| 查看次数: |
4743 次 |
| 最近记录: |