Android中GridView中onTouch监听(1)item实现触摸执行缩放动画的功能

本文介绍如何在Android的GridView中实现点击元素触发缩放动画,并处理ACTION_DOWN, ACTION_MOVE和ACTION_UP事件。当按下并移动离开元素时,元素会恢复原状;点击时则触发跳转。由于监听事件可能导致内置的onItemClickListener失效,作者通过比较按下和抬起时的位置来判断点击事件。" 113320826,10326285,SQL大全:从基础到高级操作详解,"['SQL语法', '数据库管理', '数据操作', '查询优化', '数据库设计']
摘要由CSDN通过智能技术生成

功能:当用户点击元素,执行图片缩放动画,当按住元素并且移开位置离开该元素,之前元素将执行放大回到原状,而新选中的元素将进行缩放。

效果图


即:gridview中的元素按住就会下陷变小,移动离开就会变回原样,点击就会进入跳转界面

由于为了完整的监听ontouch事件,即能监听ACTION_DOWN,MOVE,UP返回值必须为true

但是由于为true导致事件被拦截了,之后的自带的onItemClickListener的监听事件不能在使用了

这里我通过判断点击时候的位置的item和抬起的item的位置,进行点击事件的判断

写了一个工具类,代码如下

package com.example.util;

import android.content.Context;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.GridView;
import android.widget.Toast;

import com.example.test.R;

public class AnimationUtil {
	// action down按下动画
	private static Animation downAnimation;
	// action up动画
	private static Animation upAnimation;
	// 前一个元素
	private static int tempChildViewId = -1;
	// 按下时候的元素,设置为公有方便之后查看
	public static int downChildViewId = -1;
	// 抬起时候的元素,设置为公有方便之后查看
	public static int up
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值