Android事件处理

Android事件处理包括键盘事件和触摸事件两大类。键盘事件包括按下、弹起等,触摸事件包括按下、滑动、弹起、双击等。在Android控件中,提供了事件处理的相关方法。在 View类中,提供了onTouchEvent( )方法来处理触摸事件。还可以使用setOnTouchListener( )为控件设置监听器来处理触摸事件。

键盘事件

Android中控件在处理物理按键事件时,提供的回调方法有onKeyUp( ), onKeyDown( ) 和 onKeyLongPress( ) 方法。

例子,屏蔽物理键盘中的后退键。

重写onKeyDown( )方法来拦截用户单击后退按钮事件,如下:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            return true;//屏蔽后退键
        }
        return super.onKeyDown(keyCode, event);
    }

例子,当用户单击增加音量键时显示提示信息,如下:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            return true;//屏蔽后退键
        }
        return super.onKeyDown(keyCode, event);
    }

NOTE:当单击音量增加键时, onKeyDown方法返回的是false,表示没有屏蔽该键的功能。


触摸事件

对于触摸屏上的按钮,可以使用onClickListener 和 onLongClickListener两个监听器分别处理用户短时间和长时间单击事件。

View类是其它Android控件的父类,在该类中定义了setOnTouchListener()方法用来为控件设置触摸事件监听器。

例子

public class MainActivity extends Activity implements OnTouchListener {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		LinearLayout layout = new LinearLayout(this);
		layout.setOnTouchListener(this);//设置触摸事件监听器
		layout.setBackgroundResource(R.drawable.background);//设置背景图片
		setContentView(layout);
	}

	@Override
	public boolean onTouch(View arg0, MotionEvent arg1) {
		Toast.makeText(this, "发生触摸事件", Toast.LENGTH_LONG).show();
		return true;
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值