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

Android 自定义控件的 拖拽、移动 实现 方法

2011-04-17 14:18 411 查看
整个屏幕是一个继承自View或SurfaceView的类。它通过onDraw方法来画上面的所有的要显示的对象。一般在这个方法中,会有一些标示显示对象的位置、大小、图形、图片等一切和显示有关的属性,在onDraw方法中根据这些属性重绘所有对象。因此,必须有这样一种机制:在每一个和显示有关的属性更改后,必须马上被调用onDraw,重新绘制所有对象,将更改实时显示给用户。这种机制有两种实现方法:1.采用UI线程,以一定周期使onDraw方法得到调用。2.采用消息机制,当和显示有关的属性改变时,使onDraw方法得到调用。setBounds方法来决定显示对象要显示的位置

拖拽的实现方法:1.怎样得到要拖拽的对象。首先得到触摸点的坐标。再根据显示对象的getBounds方法得到显示对象的坐标。比较这两个坐标就可以得到拖拽的对象。2.拖拽时,怎样让显示对象根着拖拽的坐标移动。这个比较简单,只要将标示显示对象位置的属性设成触摸点的坐标即可,因为onDraw方法会访问这个属性,将对象显示到设定的位置。

invalidate和postInvalidate方法会使onDraw方法得到调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: