版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a695929533/article/details/51226309
今天仿照微信录制微视频做个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);
}