29

Material design by Google で説明されているように、トランジションを複製したいと考えています。これはプレビューへのリンクですが、基本的に気になる動画は次の 2 つです。

  1. http://material-design.storage.googleapis.com/videos/animations-meaningfultransitions-hierarchical_transitions_topLevel_large_xhdpi.webm
  2. http://material-design.storage.googleapis.com/videos/animation-meaningfultransitions-view_contact_large_xhdpi.webm

私の質問は、UI のコンテナーとは何ですか? これは onCreate が要素ごとにアニメーションを持つ新しいアクティビティですか、それともフラグメントですか?

特に 2 番目の例では、1 番目のアクティビティに何らかの動きがあるため、onClick 内に 2 番目のアクティビティも作成するアニメーションがありますか? (クリックした名前も移動するので、これは新しいアクティビティではないことに注意してください)

言い換えれば、これを複製したい場合、レイアウト (+アクティビティ、フラグメント) はどうあるべきですか?

4

4 に答える 4

8

遅すぎるかもしれませんが、サポート ライブラリに以下が含まれていることがわかりまし たActivityOptionsCompat: https://developer.android.com/reference/android/support/v4/app/package-summary.html
お役に立てれば。

于 2014-09-25T05:02:15.380 に答える
5

これにはトランジションがあります。

そこからトランジションを抽出していただければ幸いです。

ガイド - http://antonioleiva.com/material-design-everywhere/
コード - https://github.com/antoniolg/MaterialEverywhere

于 2015-01-15T10:30:34.697 に答える
0

ステップ 1: あるアクティビティから別のアクティビティに移動していると考えてください。そのため、ボタンの onclick メソッドを定義します。

   button= (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(getApplicationContext(), Animation.class);
               startActivity(intent, options.toBundle());
                    startActivity(intent);
               overridePendingTransition  (R.anim.right_slide_in, R.anim.right_slide_out);
            }
        });

ステップ 2:起動中の 2 番目のアクティビティに必要なアニメーションを定義します。

anim.right_slide_in

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator">
    <translate
        android:fromXDelta="100%p"
        android:toXDelta="0"
        android:duration="700"
        />
</set>
于 2016-09-04T04:42:33.420 に答える