Android:Click,LongClick,Touch,KeyDown,KeyUp事件使用心得
16lz
2021-01-26
今天仿照微信录制微视频做个android小程序。
因为是初学移动端编程技术,难点在与对于各种触摸点击事件理解不清,做了几个小实验,现在把Click,LongClick,Touch,KeyDown,KeyUp事件使用心得写在下面。
Click事件,通常我们对Button,ImageButton等添加监听事件即可使用
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } });
特点是方法只在点击之后触发一次。
LongClick事件,和Click事件一样,对控件添加监听事件即可使用,只是这个方法我习惯先设置为“可用”状态。
buttonStart.setLongClickable(true); buttonStart.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { recorder(); return false; } });
buttonStart.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_BUTTON_PRESS: break; case MotionEvent.ACTION_BUTTON_RELEASE: break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: break; } return false; } });
KeyDown和KeyUp事件,是android内置的点击事件,只针对固定的按钮和操作,比如返回键,home健,或者音量大小等等。
这里有一个keyCode列表:http://www.cnblogs.com/bluestorm/p/4886662.html(转载引用)。
这两个方法是继承Activity类的固有方法,想要自己实现需要重写,重写了之后不要忘记调用父类。如果在方法的最后调用父类,表明先实现你自己写的方法,然后在进行父类动作。
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_HOME){ } return super.onKeyDown(keyCode, event); } @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_HOME) { } return super.onKeyUp(keyCode, event); }
更多相关文章
- Android(安卓)dialog 不消失
- Android笔试题整理(一)
- Android之JavaSe基础--面向对象高级部分-接口,抽象类(五)
- android学习笔记——Handler
- Android(安卓)学习系列 - Fragment
- Android(安卓)EventBus实战 没听过你就out了
- Handler消息传送机制
- Android中获取图片尺寸大小两种方法
- 解决-Android: ListView.setSelection无效