在Android中拖放Imageview
问题描述:
我想将Imageview
图像拖入给定的任何一个imageviews
并匹配该类型。我怎样才能在Android中实现这一点。我已经做了一个ImageView
到另一个ImageView
,但不知道如何实现多滴ImageView
。在Android中拖放Imageview
答
将TextView从一个LinearLayout移动到另一个LinearLayout的拖放手势演示。
public class MainActivity extends Activity implements OnTouchListener,OnDragListener{
private static final String LOGCAT = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.textView1).setOnTouchListener(this);
findViewById(R.id.pinkLayout).setOnDragListener(this);
findViewById(R.id.yellowLayout).setOnDragListener(this);
}
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
view.startDrag(null, shadowBuilder, view, 0);
view.setVisibility(View.INVISIBLE);
return true;
}
else {
return false;
}
}
public boolean onDrag(View layoutview, DragEvent dragevent) {
int action = dragevent.getAction();
switch (action) {
case DragEvent.ACTION_DRAG_STARTED:
Log.d(LOGCAT, "Drag event started");
break;
case DragEvent.ACTION_DRAG_ENTERED:
Log.d(LOGCAT, "Drag event entered into "+layoutview.toString());
break;
case DragEvent.ACTION_DRAG_EXITED:
Log.d(LOGCAT, "Drag event exited from "+layoutview.toString());
break;
case DragEvent.ACTION_DROP:
Log.d(LOGCAT, "Dropped");
View view = (View) dragevent.getLocalState();
ViewGroup owner = (ViewGroup) view.getParent();
owner.removeView(view);
LinearLayout container = (LinearLayout) layoutview;
container.addView(view);
view.setVisibility(View.VISIBLE);
break;
case DragEvent.ACTION_DRAG_ENDED:
Log.d(LOGCAT, "Drag ended");
break;
default:
break;
}
return true;
}
}
activity_main.xml中
<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/center"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<LinearLayout
android:id="@+id/pinkLayout"
android:layout_width="fill_parent"
android:layout_height="210dp"
android:background="#FF8989"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/dragtext" />
</LinearLayout>
<LinearLayout
android:id="@+id/yellowLayout"
android:layout_width="fill_parent"
android:layout_height="250dp"
android:layout_marginTop="210dp"
android:background="#FFCC00"
android:orientation="vertical" >
</LinearLayout>
</RelativeLayout>
+0
我已经完成将一个ImageView拖放到另一个ImageView,现在的问题是,如何从给定的ImageView中拖放任何一个ImageView多下降ImageView选项。 –
拖着你要替换它拖动图像后? –
是的,我必须更换。实际上,图像的数组将会逐个加载,并且我必须将其拖动到给定的图像视图。 –