天天看點

Android 事件

key, touch...android 事件

@override

public boolean onkeydown(int keycode, keyevent event) {

// todo auto-generated method stub

switch (keycode) {

case keyevent.keycode_menu:

log.d(tag, "keyevent.keycode_menu");

toast.maketext(this, "keyevent.keycode_menu", toast.length_long);

break;

case keyevent.keycode_home:

log.d(tag, "keyevent.keycode_home");

// finish();

android.os.process.killprocess(android.os.process.mypid());

toast.maketext(this, "keyevent.keycode_home", toast.length_long);

case keyevent.keycode_back:

log.d(tag, "keyevent.keycode_back");

toast.maketext(this, "keyevent.keycode_back", toast.length_long);

case keyevent.keycode_volume_down:

log.d(tag, "keyevent.keycode_volume_down");

case keyevent.keycode_volume_up:

log.d(tag, "keyevent.keycode_volume_up");

case keyevent.keycode_power:

log.d(tag, "keyevent.keycode_power");

default:

log.d(tag, "沒有比對的");

}

return super.onkeydown(keycode, event);

// test for combination key

public boolean dispatchkeyevent(keyevent event) {

int keycode = event.getkeycode();

if (keycode == keyevent.keycode_volume_down &&

keycode == keyevent.keycode_power) {

log.d(tag, "volume_down + power is pressed");

// finish();

// return true;

//else

// return false;

return super.dispatchkeyevent(event);

//當按鍵彈起時發生的事件

public boolean onkeyup(int keycode, keyevent event) {

case keyevent.keycode_alt_left:

return super.onkeyup(keycode, event);

//觸摸屏事件,當用手或者用筆在觸摸屏上做動作是發生

public boolean ontouchevent(motionevent event) {

int iaction = event.getaction();

if (iaction == motionevent.action_move) {

log.d(tag, "你在觸摸屏上進行了滑動");

return super.ontouchevent(event);

//連續點選按鍵時發生的事件

public boolean onkeymultiple(int keycode, int repeatcount, keyevent event) {

return super.onkeymultiple(keycode, repeatcount, event);

// 長按某鍵

public boolean onkeylongpress(int keycode, keyevent event) {

if (keycode == keyevent.keycode_volume_down) {

//todo

return super.onkeylongpress(keycode, event);