Android view点击事件

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值