use*_*995 9 android drag-and-drop
我在一个LinearLayout上使用三个TextViews Drag&Drop将它移动到另一个容器.我的代码:
OnDragListener dragi = new OnDragListener() {
@Override
public boolean onDrag(View arg0, DragEvent arg1) {
// TODO Auto-generated method stub
int action = arg1.getAction();
switch (action) {
case DragEvent.ACTION_DRAG_STARTED:
break;
case DragEvent.ACTION_DRAG_ENTERED:
break;
case DragEvent.ACTION_DRAG_EXITED:
break;
case DragEvent.ACTION_DROP:
View view = (View) arg1.getLocalState();
ViewGroup owner = (ViewGroup) view.getParent();
owner.removeView(view);
//
LinearLayout container = (LinearLayout) arg0;
container.addView(view);
view.setVisibility(View.VISIBLE);
}
break;
case DragEvent.ACTION_DRAG_ENDED:
break;
default:
break;
}
return true;
}
};
Run Code Online (Sandbox Code Playgroud)
我的问题是,我不想从基本容器中删除视图,它应该留在那里,只需将副本添加到第二个容器.
谢谢
视图在任何给定时刻只能有一个父项,您可以执行的操作是拖放,而不是将视图放入新容器中创建视图的克隆并将其添加到新容器中.
要克隆视图:如果你的view => Button名为myButton,那么你可以这样做:
Button myButtonClone = new Button(context);
myButtonClone.setText(myButton.getText());
Run Code Online (Sandbox Code Playgroud)
您将拥有原始按钮的克隆.这适用于所有其他属性,如果要复制ImageView,只需创建一个新的并将其drawable设置为与第一个ImageView相同.
| 归档时间: |
|
| 查看次数: |
1437 次 |
| 最近记录: |