Ich habe zwei ImageViews und ein Bild auf einem ImageView und andere ImageView ist leer. Ich möchte Bild ziehen und auf leere Bildansicht fallen lassen. Ich möchte auch, dass das Bild wieder an seinen ersten Platz zurückkehrt. Einfach gesagt, ich möchte das Bild zwischen zwei ImageViews bewegen. Ich denke, wenn ich das Bild ziehe, ziehe ich auch das ImageView. Ich möchte nur ein Bild ziehen, nicht das ImageVew, weil ich das Bild an seinen ersten Platz zurückbewegen muss. Ich versuchte dies und konfrontiert Problem, jede einfache Lösung benötigt?Drag & Drop des Bildes
private final class ChoiceTouchListner implements View.OnTouchListener{
@Override
public boolean onTouch(View v, MotionEvent event) {
if((event.getAction()==MotionEvent.ACTION_DOWN) && ((ImageView)v).getDrawable()!=null){
ClipData data= ClipData.newPlainText("","");
View.DragShadowBuilder shadowBuilder= new View.DragShadowBuilder(v);
v.startDrag(data,shadowBuilder,v,0);
return true;
}else{ return false;}
}
}
/////////////////////////////////////////// /////////////////////////////////////////
private class ChoiceDragListner implements View.OnDragListener{
@Override
public boolean onDrag(View v, DragEvent event) {
switch (event.getAction()){
case DragEvent.ACTION_DRAG_STARTED:
break; //no action necesary
case DragEvent.ACTION_DRAG_ENTERED:
break;
case DragEvent.ACTION_DRAG_EXITED:
break;
case DragEvent.ACTION_DROP:
ImageView imageView= (ImageView) event.getLocalState(); //the source image
((ImageView)v).setImageDrawable(getResources().getDrawable(R.drawable.blue));
// ((ImageView)v).setImageDrawable(null); //replace source by empty
break;
case DragEvent.ACTION_DRAG_ENDED:
break;
}
return true;
}
}
ok. Danke, aber das ist nicht was ich will. Grundsätzlich möchte ich, dass ich zuerst zwei imageViews (imageView1 und imageView2) habe und beide leer sind. Angenommen, ich berühre ImageView1 und dann ein Bild auf imageView1. Und dann möchte ich dieses Bild ziehen und auf imageView2 fallen lassen. und umgekehrt. Bedeutet, wir haben zwei ImageViews und ein Bild. –