6_android的事件处理

来源:互联网 发布:网络hk是什么意思呢 编辑:程序博客网 时间:2024/06/07 06:16

#1:给Button控件加一个事件机制(196页):

一般的做法是,比如:   btn.setOnClickListener(new OnClickListener {

@Override

public void onClick(View v) {

//当按钮点击时做相应的事情;(比如让某个文本框的值为helloworld!)

}

});


原理是:  事件源是btn这个按钮;给它设置一个点击事件监听者,顾名思义,这个监听者将监听它的点击事件,

并且事先在这个监听者中事先定义好当发生点击事件时应该怎么做的代码;

当确实点击这个按钮时,那么,监听者将会监听到,因此可以触发里面的代码!



#2:自定义一个布局窗体类,并给它加一个键盘事件监听者(198页):

首先,定义一个布局窗体类: class  MyView  extends  View,自定义View类需要重写一个方法onDraw()方法,

重写它的作用大约是给这个窗体绘一个什么图案,比如,可以drawCircle,可以drawRectangle等等,

而在画图的过程中又要用到参数比如圆心,半径,画笔颜色等!所以,可以考虑将半径固定,画笔颜色

也固定,实时地改变圆心坐标!而键盘事件监听者就去监听键盘,如果键盘敲了左键则让圆心向左减某个数,

如果键盘敲了上键则,,,,,,

(概括就是:定义一个窗体,给这个窗体加键盘敲击监听,一旦有键盘敲了,则让这个窗体的图案发生变化!)


接下来: 

MyView myV = new MyView(); 

setContentView(myV);


myV.setOnKeyListener(new OnKeyListener() {

@Override

public boolean onKey(,,,,,,,,,) {

switch(event.getKeyCode()) {

//按了哪个键做什么事!

}

}


myV.invalidate();//这句代码很关键,表示重新让myV重新调用它的绘图方法一遍!由于放在了键盘事件里面,则

//表示没发生一次键盘事件都让myV重新调用它的绘图方法一遍(即onDraw()方法)!

return true;

});

#3: