import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.view.View.OnKeyListener;
import android.view.View.OnLongClickListener;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button button;
private TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.text_bt);
text = (TextView) findViewById(R.id.result_text);
button.setOnClickListener(click);
button.setOnTouchListener(ontouch);
button.setOnLongClickListener(onlong);
}
OnClickListener click = new OnClickListener() {
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
text.setText("点击");
}
};
OnTouchListener ontouch = new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == MotionEvent.ACTION_DOWN) {
text.setText("触摸事件,手指按下,与屏幕接触");
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
text.setText("触摸事件,滑动");
} else if (event.getAction() == MotionEvent.ACTION_UP) {
text.setText("触摸事件,手指抬起");
}
return true;// 返回true,焦点不继续传递,其余焦点事件无效(如click longclick)
// 返回false则继续传递
}
};
OnLongClickListener onlong = new OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
// TODO Auto-generated method stub
text.setText("长按事件触发");
return true;
}
};
/**
* 焦点事件监听,主要监听获得和失去焦点事件
*/
OnFocusChangeListener focusChange = new OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean hasfocus) {
// TODO Auto-generated method stub
if (hasfocus) {
text.setText("焦点事件,获得焦点");
} else {
text.setText("焦点事件,失去焦点");
}
}
};
/**
* 遥控器按键监听
*/
OnKeyListener onkey = new OnKeyListener() {
@Override
public boolean onKey(View arg0, int keycode, KeyEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == KeyEvent.ACTION_DOWN) {
if (keycode == KeyEvent.KEYCODE_DPAD_LEFT) {
text.setText("左");
}else if (keycode == KeyEvent.KEYCODE_DPAD_RIGHT) {
text.setText("右");
}else if (keycode == KeyEvent.KEYCODE_DPAD_DOWN) {
text.setText("下");
}else if (keycode == KeyEvent.KEYCODE_DPAD_UP) {
text.setText("上");
}else if (keycode == KeyEvent.KEYCODE_DPAD_CENTER || keycode == KeyEvent.KEYCODE_ENTER) {
text.setText("中间确认键");
}else if (keycode == KeyEvent.KEYCODE_MENU) {
text.setText("菜单");
}//KeyEvent....为遥控器对应键值,可以百度查询,根据对应键值做出对应操作
}
return true;
}
};
}
项目下载地址:http://download.csdn.net/detail/qq_24179679/9663144