Android 之两点触摸技术
package mobile.android.multi.touch;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.MotionEvent;
public class MultiTouchActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_multi_touch);
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
if (event.getPointerCount() == 2)
{
if (event.getAction() == MotionEvent.ACTION_MOVE)
{
int historySize = event.getHistorySize();
if (historySize == 0)
return true;
float currentY1 = event.getY(0);
float currentY2 = event.getY(1);
float historyY1 = event.getHistoricalY(0, historySize - 1);
float historyY2 = event.getHistoricalY(1, historySize - 1);
float distance = Math.abs(currentY1 - currentY2);
float historyDistance = Math.abs(historyY1 - historyY2);
if (distance > historyDistance)
{
Log.d("status", "放大" +historySize);
}
else if (distance < historyDistance)
{
Log.d("status", "缩小"+historySize);
}
else
{
Log.d("status", "移动"+historySize);
}
}
}
return true;
}
} 相关推荐
xfcyhades 2020-11-20
Michael 2020-11-03
业余架构师 2020-10-09
OuNuo0 2020-09-29
moses 2020-09-22
Angelia 2020-09-11
qinxu 2020-09-10
刘炳昭 2020-09-10
Nostalgiachild 2020-09-07
Nostalgiachild 2020-08-17
leavesC 2020-08-14
一青年 2020-08-13
AndroidAiStudy 2020-08-07
ydc0 2020-07-30
绿豆饼 2020-07-28