我的屏幕中央有4个可点击的图像。单击其中一个图像后,我希望图像从当前位置滑动到屏幕中心。
一旦图像到达屏幕中心,我希望图像翻转,然后加载我的片段。
如何获得此完整序列?我有片段加载,但我不确定如何创建一个动画,将我的图像从当前位置滑动到中心。页面的布局是已知的,如下所示。
1 2 3
4 5 6
7 8 9
其中2,4,6,8是我想要滑动的图像,5是我希望它们在点击时滑动到的位置(然后翻转并显示我的片段)。
谢谢, DMAN
编辑:
我无法发生的一件事是按顺序播放的事件。目前,当我单击图像时,它会等待我在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" />
flip_image.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);
}
答案 0 :(得分:0)
AnimationSet
TranslateAnimation
然后是ScaleAnimation
来模拟翻转(你可能需要
镜像翻转另一侧的图像。也许就是这样
一种更简单的方法?)。ImageView
setAnimation()
。我猜你也应该能够用XML指定动画。
修改强>
对于翻转动画,您可以参考以下链接: