我正在尝试创建一个动画,我可以将其用于我的应用上的不同按钮。动画基本上是一个圆圈,当按下按钮时,它会扩展为整个屏幕的填充。
为此,我创建了我的动画XML文件:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:toXScale="20.0"
android:toYScale="20.0"
android:duration="1000"
android:pivotX="50%"
android:pivotY="50%">
</scale>
</set>
我将此动画应用于ImageView
,为了在每个按钮上使用动画,我将整个布局放在FrameLayout
内,当我想要使用动画时,放置更改要设置动画的ImageView
的位置,我使用onTouchListener
作为我需要动画的按钮,如下所示:
imbt_buttonOn.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()){
case (MotionEvent.ACTION_DOWN):
imvw_expand.setX(imbt_buttonOn.getX());
imvw_expand.setY(imbt_buttonOn.getY());
imvw_expand.startAnimation(animation);
break;
case (MotionEvent.ACTION_UP):
imvw_expand.clearAnimation();
imvw_expand.setVisibility(View.INVISIBLE);
animationCanceled = true;
break;
}
return true;
}
});
问题:必须进行动画处理的imageView会出现在所需的位置并且还会展开....但它也会向下移出屏幕。
任何帮助都会受到赞赏,或者有更好的方法来制作可重复使用的扩展圈动画。