Activity画面下部からスライド、スライド、黒い背景とステータスバーの処理
5603 ワード
1、まず2つのアニメーションを書いて、それぞれの時にアニメーションに入りますと退出します.res/animで2つのファイルを作成
アニメーションに入ります.xml
アニメーションを終了します.xml
拡張:
これらの属性には%とpを加えることもできます.例えば、Android:toXDelta=「100%」は、自身の100%を表し、つまりView自身の位置から始まります.Android:toXDelta="80%p"は、親ビューの80%を表し、親ビューを参照します.
2、ページジャンプと終了ロジック
注意:overridePendingTransition(R.anim.entry,0);この方法はstartActivityの後に呼び出さなければならない.そうしないと役に立たない.
注意:overridePendingTransitionメソッドはfinishメソッドの後に呼び出されます.
ここまで進むと基本的な効果は出てきますが、どう見ても変ですね.Activityが出る前のActivityは黒で、そのActionBarもステータスバーも存在します.
3、スタイルを書いて処理しましょう
そして完璧に
アニメーションに入ります.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<translate
android:fromYDelta="100%p"
android:toYDelta="0"
android:duration="300"
/>
set>
アニメーションを終了します.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<translate
android:fromYDelta="0"
android:toYDelta="100%p"
android:duration="300"
/>
set>
拡張:
これらの属性には%とpを加えることもできます.例えば、Android:toXDelta=「100%」は、自身の100%を表し、つまりView自身の位置から始まります.Android:toXDelta="80%p"は、親ビューの80%を表し、親ビューを参照します.
2、ページジャンプと終了ロジック
注意:overridePendingTransition(R.anim.entry,0);この方法はstartActivityの後に呼び出さなければならない.そうしないと役に立たない.
//
Intent intent = new Intent(MainActivity.this,Test1Activity.class);
startActivity(intent);
overridePendingTransition(R.anim.entry,0);
注意:overridePendingTransitionメソッドはfinishメソッドの後に呼び出されます.
public class Test1Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test1);
}
// finish
@Override
public void finish() {
super.finish();
overridePendingTransition(0,R.anim.exit);
}
}
ここまで進むと基本的な効果は出てきますが、どう見ても変ですね.Activityが出る前のActivityは黒で、そのActionBarもステータスバーも存在します.
3、スタイルを書いて処理しましょう
そして完璧に