Android 触摸实现物体运动
当我们的手指放在手机屏幕上,在手机移动的时候,我们的屏幕物体也会跟着手指来移动,这个效果就是一个触摸移动效果,个人感觉,这个效果在我们的Android应用中用到的非常广泛,大家应该记得android手机的划屏锁,这个就应该和我们要讲的实例差不多,就是给这个软件设置了一下滑动的范围,还有就是当这个滑到屏幕的最右端时触发监听,从而解锁。我们这个例子里主要就是用到了paint,MotionEvent,WindowManager等。那么我们就来看看这篇让人激动的例子吧
Java代码:Java代码
1.packageeoe.ray.view;
2.
3.importandroid.app.Activity;
t.Context;
aphics.Canvas;
aphics.Color;
aphics.Paint;
8.importandroid.os.Bundle;
9.importandroid.view.MotionEvent;
10.importandroid.view.View;
11.importandroid.view.Window;
12.importandroid.view.WindowManager;
13.
14.publicclassTestViewextendsActivity{
15.floatx=0;
16.floaty=0;
17.ViewmyView;
18.@Override
19.publicvoidonCreate(BundlesavedInstanceState){
Create(savedInstanceState);
21.//值得一提的是,由于画圆参照的坐标系(以系统信息栏的左下侧为原点)
22.//和MotionEvent获取的x,y坐标参照(以屏幕坐上角为原点)的坐标系不同,
23.//如果不设置全屏的话,会出现鼠标中心跟圆心不一致的情况。
(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
27.setContentView(myView);
28.}
29.
30.publicbooleanonTouchEvent(MotionEventevent){
31.X();
32.Y();
33.Action()){
34.caseMotionEvent.ACTION_DOWN:
36.break;
37.caseMotionEvent.ACTION_UP:
安卓开发教程 pdf
39.break;
40.caseMotionEvent.ACTION_MOVE:
42.break;
43.}
45.}
46.classMyViewextendsView{
47.protectedvoidonDraw(Canvascanvas){
48.PaintmPaint=newPaint();
49.mPaint.setColor(Color.BLUE);
50.mPaint.setAntiAlias(true);
51.canvas.drawCircle(x,y,20,mPaint);
Draw(canvas);
53.}
54.publicMyView(Contextcontext){
55.super(context);
56.}
57.}
58.
59.}
大家在看完代码以后我们就来看看代码中,那些比较容易犯错的地方,个人感觉有这么几个地方比较容
易放错,下面我给大家指出来,TouchEvent(event);就是括号里的event,这个很重要,还有就是这个忘写了.setAntiAlias(true);还有一处就是.onDraw(canvas);最后就是这个public MyView(Context context) {super(context);}。这个只是我个人的建议,如果有哪些不对的,请高手指点。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。