主要步骤
1、封装可拖放的自定义ImageView类
2、设置一个容器放置底图
3、使用RecyclerView展示可供选择的图标
4、用户点击后图标会在底图上生成
5、可以自由拖动图标
遇到的问题
每次生成的图标都会重置到相对于父布局的(0,0)位置
解决方法
在MotionEvent.ACTION_UP的手势中设置图标位置
ViewGroup.MarginLayoutParams margin = new ViewGroup.MarginLayoutParams(getLayoutParams());
margin.leftMargin=getLeft();
margin.topMargin=getTop();
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(margin);
layoutParams.height = 200;//设置图片的高度
layoutParams.width = 200; //设置图片的宽度
setLayoutParams(layoutParams);