发现之前的东西些复杂
Android中GridView中onTouch监听(1)每个item进行点击缩放动画的制作以及点击事件的监听
Android中GridView中onTouch监听(2)自己写的Scroll滑动判断
现在把它写成一个自定义控件,方便扩展。
效果如下:
主要就是在自定义控件的onTouchEvent中写自己的动画效果
代码如下:
package com.example.mygridviewdemo;
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.GridView;
/**
* 实现点击 item做缩放动画
*
* @author leafact
*
*/
public class TouchableGridView extends GridView {
private Context context;
// action down按下动画
private static Animation downAnimation;
// action up动画
private static Animation upAnimation;
// 前一个元素
private static int tempChildViewId = -1;
private static int downChildViewId = -1;
private static int upChildViewId = -2;
private static boolean isLastView = true;
private static final int numColumns = 3;
public TouchableGridView(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
showAnimation(ev);
// 扩展重写
return super.onTouchEvent(ev);
}
private void showAnimation(MotionEvent event) {
// 判断是不是GridView的v
if (!(