Android(安卓)SurviceView的触控和轨迹球事件 .
16lz
2021-01-26
SurfaceView 的触控和轨迹球事件
1,改开始什么也没有,当第一点击的时候,图标会出现在那个地方,然后点击其它地方,图标会在触控的地方显示
2,拖着图标移动,到鼠标事件UP的地方绘画停止
[java] view plain copy print ?- "COLOR: #000000">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));
- }
- }
更多相关文章
- android接入原生第三方登录(微信登录、QQ登录、新浪微博登录)
- android应用安装后不显示图标问题分析
- android 6.0及以上动态权限的获取
- 【Android】android4.4从图库选择图片,获取图片路径并裁剪
- Android(安卓)新浪微博授权
- 【Android】TypedArray——三个方法获取dimen返回值的类型
- Android(安卓)获取控件高度宽度三种方法,防止0的出现~~~~赞
- 仿抖音短视频APP源码,android获取屏幕尺寸,像素
- Android(安卓)OpenGL ES2.0 and GLSL 一个简单的Demo