3
我正在创建一个拖放应用程序,以在主布局上拖动一个对象。我的问题是我想拥有无限/无限的图像视图副本,因此我可以尽可能多地拖动图像。创建imageview的副本/克隆android
例如,心脏的形状,当我已经拖动图像,我不能有另一个心脏的形状,因为我只有一个图像(心脏)在布局。
这是我的触摸代码上imageViews(星,心,闪电):
private final class MyTouchListener implements OnTouchListener {
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
ClipData data = ClipData.newPlainText("", "");
DragShadowBuilder shadowBuilder = new DragShadowBuilder(view);
view.startDrag(data, shadowBuilder, view, 0);
view.setVisibility(View.INVISIBLE);
return true;
} else {
return false;
}
}
}
这是我拖放区拖监听/主图像:
class MyDragListener implements OnDragListener {
@Override
public boolean onDrag(View v, DragEvent event) {
int action = event.getAction();
final int X = (int) event.getX();
final int Y = (int) event.getY();
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
// do nothing
break;
case DragEvent.ACTION_DRAG_ENTERED:
break;
case DragEvent.ACTION_DRAG_EXITED:
break;
case DragEvent.ACTION_DROP:
// Dropped, reassign View to ViewGroup
View view = (View) event.getLocalState();
ViewGroup owner = (ViewGroup) view.getParent();
owner.removeView(view);
RelativeLayout container = (RelativeLayout) v;
RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(30, 30);
params1.leftMargin = (int) event.getX() - 15;
params1.topMargin = (int) event.getY() -15;
container.addView(view,params1);
view.setVisibility(View.VISIBLE);
break;
case DragEvent.ACTION_DRAG_ENDED:
default:
break;
}
return true;
}
}
你有此示例代码? – MMakati
是的,在办公室谷歌它非常容易,最好的部分是,你可以通过调用单个画线“克隆”数百个图像 –
我无法找到你所说的很好的来源。 – MMakati