1.getRawX()与getX()的区别
getRawX():绝对坐标
getX():相对坐标
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
mBtn_sate.setOnTouchListener(
new
OnTouchListener()
{
@Override
public
boolean
onTouch(View v, MotionEvent event)
{
if
(event.getAction() == MotionEvent.ACTION_DOWN)
{
Log.e(
""
,
"ACTION_DOWN="
+ v.toString());
}
else
if
(event.getAction() == MotionEvent.ACTION_UP)
{
Log.e(
""
,
"ACTION_UP="
+ v.toString());
}
else
if
(event.getAction() == MotionEvent.ACTION_MOVE)
{
//getRawX()指控件在屏幕上的X坐标
if
(event.getRawX() > v.getLeft() && event.getRawX() < v.getRight() && event.getRawY() > v.getTop() && event.getRawY() < v.getBottom())
{
Log.e(
""
,
"超出 "
);
}
//getX()相对于控件X坐标的距离
if
(event.getX() <
0
|| event.getY() <
0
|| event.getX() > (v.getRight() - v.getLeft()) || event.getY() > (v.getBottom() - v.getTop()))
{
Log.e(
""
,
"越界 "
);
}
}
return
false
;
}
});
|
本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1359067,如需转载请自行联系原作者