今天遇到个问题,就是如何顺利的将图片控件跟着手指来回移动,本来我是在手接触屏幕的点直接用Canvas画了一个“十”来表示选中的地方,但是不够美观,后来尝试了获取图片控件,然后实时传递位置信息,再调用控件移动的方法来实现图片的跟随运动,
MarginLayoutParams margin=new MarginLayoutParams(imageColor.getLayoutParams());
margin.setMargins(200,200, 200+margin.width, 200+margin.height);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(margin);
imageColor.setLayoutParams(layoutParams);
以上的代码是大多数情况下用来移动空间位置的,但是我试下来界面反映迟钝,主要是我在不停的实例化布局对象,内存消耗还是很大的。后来我想到了一种先获取图片的像素矩阵,然后实时的将图片绘制出来,因为我要移动的图片很小,所以后来采用了这种方法:
private Bitmap bm; //建立BMP对象