Android学习笔记(四)——简单的控件和基本响应:(触屏)运动事件的响应(2)View的继承和onDraw的重载
2014-12-13 11:21
281 查看
依旧是对于触屏运动事件的学习,但并未使用布局文件进行布局,而是通过继承View类并重载其中的ondraw函数和事件处理函数
package com.shine.night; import android.app.Activity; import android.content.Context; import android.graphics.*; import android.os.Bundle; import android.util.Log; import android.view.MotionEvent; import android.view.View; //没有用布局文件 public class MainActivity extends Activity { protected void onCreate ( Bundle b ) { super.onCreate ( b ); setContentView ( new TestMotionView ( this ) ); } public class TestMotionView extends View { private Paint mPaint = new Paint ( ); private int mAction; private float x; private float y; //context类,用于识别调用者的实例 public TestMotionView ( Context c ) { super ( c ); mAction = MotionEvent.ACTION_UP; x = 0; y = 0; } //继承自view类,能够绘出图像 protected void onDraw ( Canvas canvas ) { Paint paint = mPaint; canvas.drawColor ( Color.WHITE ); if ( MotionEvent.ACTION_MOVE == mAction )//移动动作 paint.setColor ( Color.RED ); else if ( MotionEvent.ACTION_UP == mAction )//抬起动作 paint.setColor ( Color.GREEN ); else if ( MotionEvent.ACTION_DOWN == mAction )//按下动作 paint.setColor ( Color.BLUE ); //绘制圆 , 并且利用画笔对它进行着色 canvas.drawCircle ( x , y , 10 , paint ); setTitle ( "A = " + mAction + "[" + x + "," + y + "]" ); } //对该类的事件处理函数进行定义 public boolean onTouchEvent ( MotionEvent event ) { mAction = event.getAction (); x = event.getX (); y = event.getY (); invalidate (); return true; } } }
相关文章推荐
- Android学习笔记(三)——简单的控件和基本响应:(触屏)运动事件的响应
- Android学习笔记(一)——简单的控件和基本响应:鼠标事件的响应
- Android学习笔记(二)——简单的控件和基本响应:键位事件的响应
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- 【Android】控件和基本事件响应的三种方式
- 自定义可以响应事件的控件(继承自UIControl)
- Android学习笔记 十六 使用RxBinding响应控件的异步事件
- Android基础教程之简单的Button事件响应综合提示控件Toast的应用
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- Android 隐藏ViewPager之后,控件点击事件无法响应的问题
- 处理鼠标响应事件(最简单控件 good)
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- GTK学习笔记1-简单的控件和事件响应
- Android UI控件和基本事件的响应
- android学习笔记之基本事件的响应
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- Iphone开发(十)简单的列表tableView与行的响应事件
- [Android学习笔记]继承自ViewGroup的控件的过程学习
- WPF系列之二:解耦View层控件事件与ViewModel层事件的响应
- 解决UIScrollView,UIImageView等控件不能响应touch事件的问题