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);
来实现图片位置的实时更新。
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);
来实现图片位置的实时更新。
相关文章推荐
- Android 利用多线程异步加载图,并把图片处理成圆角,并更新视图
- C#--第11周实验--任务9(设计一个窗体)--利用Timer和图片框控件,编写一个图片不断向左移动的小动画
- 本文主要是android中几个图片处理的工具,包括(拼接图片,截屏,将控件转换成图片,drawable转成图片,保存bitmap到指定路径)
- 利用Timer和图片框控件,编写一个图片不断向左移动的小动画
- c#:利用Timer和图片框控件,编写一个图片不断向左移动的小动画
- Android的一段常用动画效果代码(如何让点击的图片控件加速飞入到指定位置)
- Android 开发知识 图片跟随触摸位置移动
- Android 控件移动位置 2法比较
- android控件xml属性解释(不断更新)
- Android 图片处理 之 Bitmap
- Android: 利用Bimap,canvas处理图片(画直线)
- android 图片处理 (滤镜,图片位置)
- android 图片处理 (滤镜,图片位置)
- 【Android代码片段之一】图片处理Bitmap相关类型转换
- Android 图片处理之图片叠加--Bitmap
- android listview利用多线程异步加载图片并更新视图
- Android Bitmap 图片处理细节
- Flex中如何利用Bitmap和BitmapData类复制图片到一个TileList控件的例子
- iPhone图片处理代码片段(不断更新)
- 【Android Training - 09】高效地显示Bitmap图片 [ Lesson 2 - 在UI线程之外处理Bitmaps ]