android中的imageview怎么设置上下左右的滑动事件?

要实现的功能是当imageview向某一个方向滑动时,出发一段函数,谢谢,最好给一段代码例子... 要实现的功能是当imageview向某一个方向滑动时,出发一段函数,谢谢,最好给一段代码例子 展开
 我来答
shen6983846
2013-07-29 · TA获得超过384个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:264万
展开全部
private float mPosX;
private float mPosY;
private float mCurrentPosX;
private float mCurrentPosY;
private ImageView imageview;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

imageview = (ImageView) findViewById(R.id.imageview);

imageview.setOnTouchListener(new View.OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {

switch (event.getAction()) {
// 按下
case MotionEvent.ACTION_DOWN:
mPosX = event.getX();
mPosY = event.getY();
break;
// 移动
case MotionEvent.ACTION_MOVE:
mCurrentPosX = event.getX();
mCurrentPosY = event.getY();

if (mCurrentPosX - mPosX > 0 && Math.abs(mCurrentPosY - mPosY) < 10)
Log.e("", "向右");
else if (mCurrentPosX - mPosX < 0 && Math.abs(mCurrentPosY - mPosY) < 10)
Log.e("", "向左");
else if (mCurrentPosY - mPosY > 0 && Math.abs(mCurrentPosX - mPosX) < 10)
Log.e("", "向下");
else if (mCurrentPosY - mPosY < 0 && Math.abs(mCurrentPosX - mPosX) < 10)
Log.e("", "向上");

break;
// 拿起
case MotionEvent.ACTION_UP:

break;
default:
break;
}
return true;
}
});
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式