画面の中央に 4 つのクリック可能な画像があります。画像の1つをクリックすると、画像が現在の位置から画面の中央にスライドします。
画像が画面の中央に到達したら、画像を反転させてフラグメントをロードしたいと思います。
この完全なシーケンスを取得するにはどうすればよいですか? フラグメントを読み込んでいますが、画像を現在の位置から中央にスライドさせるアニメーションを作成する方法がわかりません。ページのレイアウトは既知であり、次のとおりです。
1 2 3
4 5 6
7 8 9
ここで、2、4、6、8 はスライドさせたい画像で、5 はクリックしてスライドさせたい位置です (次に、フラグメントを反転して表示します)。
ありがとう、ディーマン
編集 :
発生できないことの 1 つは、イベントを順番に再生することです。現在、画像をクリックすると、flip_image.xml アニメーションに設定したオフセットを待機し、flip_image.xml アニメーションに指定された時間内に一度にすべて再生します。これに関するヘルプは大歓迎です。
slide_left.xml
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0%"
android:toXDelta="-112%"
android:duration="1000"/>
slide_alpha.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="0.8"
android:toAlpha="1.0"
android:duration="1000" />
フリップ_イメージ.xml
<?xml version="1.0" encoding="utf-8"?>
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="0.0"
android:toXScale="1.0"
android:pivotX="50%"
android:fromYScale="1.0"
android:toYScale="1.0"
android:startOffset="1000"
android:duration="200" />
コーリング コード:
private void loadFragmentAnimation(final ImageView view, final int slideDirection) {
AnimationSet animSet = new AnimationSet(true);
animSet.addAnimation(AnimationUtils.loadAnimation(getActivity(), slideDirection));
animSet.addAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.slide_alpha));
animSet.addAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.flip_image));
animSet.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation animation) {
}
public void onAnimationRepeat(Animation animation) {
}
public void onAnimationEnd(Animation animation) {
// mCallBack.categorySelected(view.getId());
}
});
view.startAnimation(animSet);
}