activity
を使用して、下から上へのアニメーションを1つのIntent
から別のアニメーションに表示したい。
以下のような例があります
Intent i2 = new Intent(main.this, test.class);
startActivity(i2);
アニメーションは下から上へ。
Res/anim/slide_in_up.xmlでアニメーションを定義します。
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:fromYDelta="100%p" Android:toYDelta="0%p"
Android:duration="@Android:integer/config_longAnimTime"/>
およびres/anim/slide_out_up.xmlの別のファイル:
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:fromYDelta="0%p" Android:toYDelta="-100%p"
Android:duration="@Android:integer/config_longAnimTime"/>
次に、startActivityを呼び出すためにこれらを適用します。
Intent i2 = new Intent(main.this, test.class);
startActivity(i2);
overridePendingTransition( R.anim.slide_in_up, R.anim.slide_out_up );
Androidアニメーション ここ の紹介があり、これがさらに役立ちます。
私はグーグルでスライドを切り替えてここに着陸しましたが、マークの答えは不完全です。
アクティビティの仕上げを上書きする
@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.slide_from_top,R.anim.slide_in_top);
}
finish()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Lollipop) {
finishAfterTransition();
}else finish();
slide_from_top.xml
<translate xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:fromYDelta="-100%p" Android:toYDelta="0%p"
Android:duration="@Android:integer/config_shortAnimTime"/>
slide_in_top.xml
<translate xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:fromYDelta="0%p" Android:toYDelta="100%p"
Android:duration="@Android:integer/config_shortAnimTime"/>
1つ目:アクティビティのレイアウトをアニメーション化1、2つ目:このアニメーションの最後に、2つ目のアクティビティを開始し、コンテンツレイアウトをアニメーション化する
TranslateAnimation(int fromX、int toX、int fromY、int toY)を使用します;