J'ai imageView. Im en utilisant pan, pincer pour imageView. Parfois j'ai besoin de supprimer imageView. Donc, j'ai utilisé OnLongClickListener pour supprimer l'image. Quand j'utilise long clic sur ma suppression d'imageView. Mais quand j'utilise OnTouchListener pour pan, pince pour imageView OnLongPress activé et mon imageView retiré de la vue. Comment résoudre ceci?OnLongPress augmenter le temps
code:
imageView.setOnLongClickListener(new OnLongClickListener(){
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
imageView.setVisibility(View.GONE);
return true;
}
});
imageView.setOnTouchListener(new View.OnTouchListener() {
final Handler handler = new Handler();
Runnable mLongPressed = new Runnable() {
public void run() {
Log.i("", "Long press!");
}
};
@Override
public boolean onTouch(View v,MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction() == MotionEvent.ACTION_DOWN)
handler.postDelayed(mLongPressed, 1000);
if((event.getAction() == MotionEvent.ACTION_MOVE)||(event.getAction() == MotionEvent.ACTION_UP))
handler.removeCallbacks(mLongPressed);
layoutParams = (RelativeLayout.LayoutParams) imageView.getLayoutParams();
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN :
{
parms = (RelativeLayout.LayoutParams) imageView.getLayoutParams();
dx = event.getRawX() - parms.leftMargin;
dy = event.getRawY() - parms.topMargin;
}
break;
case MotionEvent.ACTION_MOVE :
{
x = event.getRawX();
y = event.getRawY();
parms.leftMargin = (int) (x-dx);
parms.topMargin = (int) (y - dy);
imageView.setLayoutParams(parms);
}
break;
case MotionEvent.ACTION_UP :
{
}
break;
}
return false;
}
});
}
});
Vous pouvez ajouter un temporisateur lorsque vous cliquez sur Activer le temporisateur et que vous effectuez l'opération comme bon vous semble –
Comment? Pouvez-vous donner du code? – user2474320