public OnTouchListener onTouch=new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
if(v.getId()==R.id.mImgReback){
mImgReback.setBackgroundDrawable(new BitmapDrawable(App_Common.allBitmap[zcMathGameRes.reback1_png]));
}
else if(v.getId()==R.id.mImgfrog){
mImgfrog.setAlpha(1f);
}else if(v.getId()==R.id.mImgBigOrSmall){
mImgBigOrSmall.setAlpha(1f);
}else if(v.getId()==R.id.mImgNumble){
mImgNumble.setAlpha(1f);
}else if(v.getId()==R.id.mImgGood){
mImgGood.setAlpha(1f);
}
break;
case MotionEvent.ACTION_UP:
if(v.getId()==R.id.mImgReback){
mImgReback.setBackgroundDrawable(new BitmapDrawable(App_Common.allBitmap[zcMathGameRes.reback0_png]));
}else if(v.getId()==R.id.mImgfrog){
mImgfrog.setAlpha(0.0f);
}else if(v.getId()==R.id.mImgBigOrSmall){
mImgBigOrSmall.setAlpha(0f);
}else if(v.getId()==R.id.mImgNumble){
mImgNumble.setAlpha(0f);
}else if(v.getId()==R.id.mImgGood){
mImgGood.setAlpha(0f);
}
break;
}
return true;
}
};
不知道为什么,如果是ImageView的OnTouchListener,onTouch方法要返回true,MotionEvent.ACTION_UP,MotionEvent.ACTION_MOVE 才有效。
其实关于返回true,false,true是不会再向外传播,false:是向外传播
android 传播机制:最先触发的是按钮上绑定的监听事件--->该组件提供的回调方法--->然后传播到该组件所在的Activity。
转载:http://www.cnblogs.com/shitianzeng/articles/2495383.html