Android SurviceView的触控和轨迹球事件
2011-09-18 21:40
309 查看
SurfaceView 的触控和轨迹球事件
1,改开始什么也没有,当第一点击的时候,图标会出现在那个地方,然后点击其它地方,图标会在触控的地方显示
![](http://hi.csdn.net/attachment/201109/18/0_1316353167x6V3.gif)
2,拖着图标移动,到鼠标事件UP的地方绘画停止
![](http://hi.csdn.net/attachment/201109/18/0_1316353171kDlq.gif)
main.xml里面的东西什么都不用变
1,改开始什么也没有,当第一点击的时候,图标会出现在那个地方,然后点击其它地方,图标会在触控的地方显示
![](http://hi.csdn.net/attachment/201109/18/0_1316353167x6V3.gif)
2,拖着图标移动,到鼠标事件UP的地方绘画停止
![](http://hi.csdn.net/attachment/201109/18/0_1316353171kDlq.gif)
import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.os.Bundle; import android.view.MotionEvent; import android.view.SurfaceView; public class Touch_TrackActivity extends Activity { /** Called when the activity is first created. */ class MYSurFaceView extends SurfaceView{ float x; float y; Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.chart_pie);//用Bitmap获取Android图标 public MYSurFaceView(Context context) { super(context); setFocusable(true);//使用Key event,setFocusable(true)可以聚焦 // TODO Auto-generated constructor stub } @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub x=event.getX();//获取触控的X坐标 y=event.getY();//获取触控的Y坐标 Draw(); return true; } @Override public boolean onTrackballEvent(MotionEvent event) { // TODO Auto-generated method stub x=event.getX();//获取轨迹的X坐标 y=event.getY();//获取轨迹的Y坐标 Draw(); return true; } private void Draw() { Canvas canvas=getHolder().lockCanvas();//定义Canvas,用SurfaceHolder的lockCanvas()方法锁住画布 canvas.drawBitmap(bitmap, x, y,null);//绘画 getHolder().unlockCanvasAndPost(canvas);//解锁画布 } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new MYSurFaceView(this)); } }
main.xml里面的东西什么都不用变
相关文章推荐
- 【Android View触摸事件(一)】Android常用触控类分析:MotionEvent 、 ViewConfiguration、VelocityTracker
- 【Android View事件(一)】Android常用触控类分析:MotionEvent 、 ViewConfiguration、VelocityTracker
- Android SubsamplingScaleImageView(subsampling-scale-image-view)单双击长按事件【系列2】
- Android--触摸屏事件分发--View
- Android开发中View的事件分发探秘
- Android事件传递机制详解(嵌套自定义View示例)
- android view事件分发
- Android事件分发详解(二)——View的事件分发
- android中利用自定义View中的onTouchEvent捕捉长按事件
- android textview 中部分内容 颜色 样式 点击事件的设置9
- 【android】ListView的item事件和item里面的view的事件同时存在
- 关于android的view触摸事件
- Android中为RecyclerView添加item的点击事件
- Android零基础入门第66节:RecyclerView点击事件处理
- Android中View的事件分发机制
- AndroidAnnotations——Listening to AdapterViewEvents监听适配器视图事件
- Android ViewGroup和View的传递事件
- Android中View的事件分发机制
- Android中Recyclerview使用10----Recyclerview外面嵌套ScrollView滑动事件冲突
- Android中RecyclerView添加item的点击事件