您的位置:首页 > 移动开发 > Android开发

android 控件的位置移动处理,利用bitmap来不断更新图片位置

2015-03-15 22:03 489 查看
今天遇到个问题,就是如何顺利的将图片控件跟着手指来回移动,本来我是在手接触屏幕的点直接用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对象

bm = BitmapFactory.decodeResource(getResources(), R.drawable.color_picker1);//获取资源中为color_picker1的图片信息

然后在已知触摸点坐标的情况下,不停的调用

canvas.drawBitmap(bm, selectedPoint.x-30, selectedPoint.y-30, null);

来实现图片位置的实时更新。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: