onTouchEvent()方法使用 (直接上代码)
2013-04-23 10:55
330 查看
package com.example.a2; //声明所在包 import android.app.Activity; //引入Activity类 import android.content.Context; //引入Context类 import android.graphics.Canvas; //引入Canvas类 import android.graphics.Color; //引入Color类 import android.graphics.Paint; //引入Paint类 import android.os.Bundle; //引入Bundle类 import android.view.MotionEvent; //引入MotionEvent类 import android.view.View; //引入View类 public class Sample extends Activity { MyView myView; // 自定义View的引用 public void onCreate(Bundle savedInstanceState) { // 重写的onCreate方法 super.onCreate(savedInstanceState); myView = new MyView(this); // 初始化自定义的View setContentView(myView); // 设置当前显示的用户界面 } @Override public boolean onTouchEvent(MotionEvent event) { // 重写的onTouchEvent回调方法 switch (event.getAction()) { case MotionEvent.ACTION_DOWN: // 按下 myView.x = (int) event.getX(); // 改变x坐标 myView.y = (int) event.getY() - 52; // 改变y坐标 myView.postInvalidate(); // 重绘 break; case MotionEvent.ACTION_MOVE: // 移动 myView.x = (int) event.getX(); // 改变x坐标 myView.y = (int) event.getY() - 52; // 改变y坐标 myView.postInvalidate(); // 重绘 break; case MotionEvent.ACTION_UP: // 抬起 myView.x = -100; // 改变x坐标 myView.y = -100; // 改变y坐标 myView.postInvalidate(); // 重绘 break; } return super.onTouchEvent(event); } class MyView extends View { // 自定义的View Paint paint; // 画笔 int x = 50; // x坐标 int y = 50; // y坐标 int w = 50; // 矩形的宽度 public MyView(Context context) { // 构造器 super(context); paint = new Paint(); // 初始化画笔 } @Override protected void onDraw(Canvas canvas) { // 绘制方法 canvas.drawColor(Color.GRAY); // 绘制背景色 canvas.drawRect(x-w, y-w, x + w, y + w, paint); // 绘制矩形 super.onDraw(canvas); } } }
相关文章推荐
- A类只能通过B类的方法实例化,不能直接使用new,即内部类~代码一段
- 简单完整的代码,通过这个代码你将对RSA加密算法在Java中的实现方法有一个初步的了解,这个类,你可以直接使用,水平高的,就自己修改完善下代码。
- android WakeLock使用方法代码实例
- 如何在Android平台上使用JS直接调用Java方法
- Android Studio使用小技巧:提取方法代码片段
- C#直接使用DllImport外部Dll的方法
- [原创]让你省写大量重复代码的方法 使用PropertyInfo类 反射获取类 的类型
- DevExpress 第三方控件汉化的全部代码和使用方法
- 使用doxygen从c++代码中生成文档的方法学习 .
- java使用Scanner类循环从控制台中获取数据的方法代码。
- javascript中直接写php代码的方法
- 简介GitHub的使用方法--管理个人代码
- 页面调用方法弹出企业QQ联系客服的方法,可以直接复制过去使用
- LESS的基本使用方法(用于快速编写CSS代码)
- DevExpress第三方控件汉化的全部代码和使用方法
- CSS实现圆角的三种方法以下直接给出代码:
- 扩展Jquery的resize方法(原生的resize只针对window,因项目需要扩展了此方法,目前只在DIV上使用过,后续如果修改代码会对此代码进行更新)
- genexus 中可以直接使用java代码
- 友盟分享和第三方登录的一个工具类,具体的使用方法直接去友盟官网看,写的非常详细
- 代码实现获取log日志和logcat使用方法