作者loveyoualway (疯子)
看板AndroidDev
标题[问题] activity捕捉ontoucheven 事件
时间Fri Mar 15 10:02:18 2013
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
if (rotatBitmap == null) {
throw new NoBitMapError("Error,No bitmap in RotatView!");
}
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
down_x = event.getX();
down_y = event.getY();
current_degree = detaDegree(o_x, o_y, down_x, down_y);
vRecord.reset();
// handler.sendEmptyMessage(stop);
a = a_max;
break;
}
case MotionEvent.ACTION_MOVE: {
down_x = target_x = event.getX();
down_y = target_y = event.getY();
float degree = detaDegree(o_x, o_y, target_x, target_y);
// 滑过的弧度增量
float dete = degree - current_degree;
// 如果小於-90度说明 它跨周了,需要特殊处理350->17,
if (dete < -270) {
dete = dete + 360;
// 如果大於90度说明 它跨周了,需要特殊处理-350->-17,
} else if (dete > 270) {
dete = dete - 360;
}
lastMoveTime = System.currentTimeMillis();
vRecord.add(dete, lastMoveTime);
deta_degree += dete;
//addDegree(dete);
circle = (int) (deta_degree / 360);
Log.e("dete", String.valueOf(circle));
current_degree = degree;
postInvalidate();
break;
}
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP: {
a = a_min;
//double lastupTime = System.currentTimeMillis();
//double detaTime = lastupTime - lastMoveTime;
up_x = event.getX();
up_y = event.getY();
up_degree = detaDegree(o_x, o_y, up_x, up_y);
// 放手时的速度
speed = speed + vRecord.getSpeed();
if (speed > 0) {
speed = Math.min(VRecord.max_speed, speed);
} else {
speed = Math.max(-VRecord.max_speed, speed);
}
// System.out.println("speed:" + speed);
if (speed > 0) {
isClockWise = true;
// v = 1;
} else {
isClockWise = false;
// v = -1;
}
currentTime = System.currentTimeMillis();
handler.sendEmptyMessage(0);
break;
}
}
return true;
}
这是ontoucheven里面的动作 这个class继承View
我想捕捉这个动作里面circle变量,他会随着使用者触控不断增加变量
把circle设成全域变数 在另外一个activity捕捉到的只有初始者0
要怎麽做 才能在activity 知道使用者已经touch 并不断传回circle值
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.243.98.7
1F:→ Jyie:你确定这事件有被触发? 03/15 13:40
2F:→ loveyoualway:有 circle 在log里 有跑出来啊 03/15 15:13
3F:→ Jyie:真宣告在全域的话,在其他地方监听这个变数就行了。 03/15 15:25
4F:→ the2046:跨 Activity传递要变数用 Intent 03/19 14:41
5F:→ the2046:另外建议..souce code贴到板後要排版.. 03/19 14:42