ページ切り替え時のoverridePendingTransition()によるアニメーション効果
2410 ワード
簡単です.startActivityの後、overridePendingTransitionメソッドを呼び出します.たとえば、フェードアウトの効果は次のようになります.
[java] view plain copy
Intent i = new Intent(StartActivity.this,MainTab.class);
StartActivity.this.startActivity(i);
overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
左から右にスライドする効果でパラメータを変更すれば、
[java] view plain copy
overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
以上androidを直接使用する.R.animが予め定義したanimationは、なぜzoominとzoomoutがないのか不思議です(私が見つけられなかったのかもしれませんが、高い人に教えてもらいたいです)
zoominとzoomout、すなわちiphoneのようなアクセスと終了の効果を実現するには、コードは以下の通りです.
[java] view plain copy
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
このコードを追加すると、zoominとzoomoutの定義がないため、eclipseがエラーを報告します.
このときresディレクトリの下にフォルダanimを新規作成し、animの下に2つのxmlを新規作成します.デフォルトのオプションは変更する必要はありません.それぞれzoominと名付けられます.xmlとzoomout.xml,
コードは次のとおりです.
zoomin.xml:
zoomout.xml:
[java] view plain copy
Intent i = new Intent(StartActivity.this,MainTab.class);
StartActivity.this.startActivity(i);
overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
左から右にスライドする効果でパラメータを変更すれば、
[java] view plain copy
overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
以上androidを直接使用する.R.animが予め定義したanimationは、なぜzoominとzoomoutがないのか不思議です(私が見つけられなかったのかもしれませんが、高い人に教えてもらいたいです)
zoominとzoomout、すなわちiphoneのようなアクセスと終了の効果を実現するには、コードは以下の通りです.
[java] view plain copy
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
このコードを追加すると、zoominとzoomoutの定義がないため、eclipseがエラーを報告します.
このときresディレクトリの下にフォルダanimを新規作成し、animの下に2つのxmlを新規作成します.デフォルトのオプションは変更する必要はありません.それぞれzoominと名付けられます.xmlとzoomout.xml,
コードは次のとおりです.
zoomin.xml:
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<scale
android:fromXScale="2.0"
android:toXScale="1.0"
android:fromYScale="2.0"
android:toYScale="1.0"
android:pivotX="50%p"
android:pivotY="50%p"
android:duration="@android:integer/config_longAnimTime">
</scale>
</set>
zoomout.xml:
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:zAdjustment="top">
<scale
android:fromXScale="1.0"
android:toXScale=".5"
android:fromYScale="1.0"
android:toYScale=".5"
android:pivotX="50%p"
android:pivotY="50%p"
android:duration="@android:integer/config_shortAnimTime">
</scale>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0"
android:duration="@android:integer/config_longAnimTime">
</alpha>
</set>