6

Android Lollipop の新しいデザイン ガイドラインに慣れようとしています。特にアニメーションについては、アイコンやボタンの詳細なアニメーションのようなものを実現しようとしています: http://www.google.com/design/spec/animation/delightful-details.html

彼らはどうやってそれをしたのだろうか?

私の特別なケースでは、アイテムをショッピング カートにドロップするために使用されるフローティング アクション ボタンがあります。ユーザーがボタンを押した後、そのボタン内の描画可能なアイコンをアニメーション化したいと考えています。アニメーションには、カートがボタンの下部に移動し、チェック マークがボタンの上部から内側に移動するスライド効果が必要です。

ここに画像の説明を入力 ここに画像の説明を入力

ViewFlipper ( http://www.inter-fuser.com/2009/07/android-transistions-slide-in-and-slide.html ) を見つけましたが、ボタンを所定の位置に保持し、アイコンのみをアニメーション化する必要がありますボタンの内側。

一方、AnimationDrawables ( http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html ) を見つけましたが、各フレームを手動で作成する必要があり、これも奇妙です。

それを達成するための最良の方法は何ですか?

4

2 に答える 2

0

フレーム アニメーションを使用できます。作成するアニメーション用に 15 ~ 20 フレームを作成します。animation_list.xml などのアニメーションリスト ドローアブルを作成します。

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
<item
    android:duration="50"
    android:drawable="@drawable/frame_01"/>
<item
    android:duration="50"
    android:drawable="@drawable/frame_02"/>
<item
    android:duration="50"
    android:drawable="@drawable/frame_03"/>
<item
    android:duration="50"
    android:drawable="@drawable/frame_04"/>
<item
    android:duration="50"
    android:drawable="@drawable/frame_05"/>
<item
    android:duration="50"
    android:drawable="@drawable/frame_06"/></animation-list>

次に、このドローアブルをカスタム FAB 内の src として配置します。これで、フレームごとのアニメーションを開始できます (FAB アニメーションが終了したとき)。

ImageView mImageViewFilling = (ImageView) findViewById(R.id.animated_imageview);
((AnimationDrawable) mImageViewFilling.getBackground()).start();
于 2016-12-22T11:49:05.383 に答える