![]()
![]()
1 //多点触摸 放大,缩小
2 public class MainActivity extends ActionBarActivity {
3
4 @Override
5 protected void onCreate(Bundle savedInstanceState) {
6 super.onCreate(savedInstanceState);
7 setContentView(R.layout.fragment_main);
8
9 }
10
11 @Override
12 public boolean onTouchEvent(MotionEvent event) {
13 // TODO Auto-generated method stub
14 // 两点触摸
15 if (event.getPointerCount() == 2) {
16 if (event.getAction() == MotionEvent.ACTION_MOVE) {
17 int historySize = event.getHistorySize();
18 if (historySize == 0) {
19 return true;
20 }
21 // 获取第一个手指当前的纵坐标
22 float currentY1 = event.getY(0);
23 // 获取第一个手指当前最新的历史的纵坐标
24 float historyY1 = event.getHistoricalY(0, historySize - 1);
25 // 获取第二个手指当前的纵坐标
26 float currentY2 = event.getY(2);
27 // 获取第二个手指当前最新的历史的纵坐标
28 float historyY2 = event.getHistoricalY(1, historySize - 1);
29 // 两手指当前纵坐标的距离
30 float distance = Math.abs(currentY1 - currentY2);
31 // 两手指最新的历史纵坐标的距离
32 float historyDistance = Math.abs(historyY1 - historyY2);
33
34 if (distance > historyDistance) {
35 Log.i("-====>", "放大");
36 } else if (distance < historyDistance) {
37 Log.i("-====>", "缩小");
38 } else {
39 Log.i("-====>", "移动");
40 }
41 }
42 }
43 return super.onTouchEvent(event);
44 }
45
46 }