getLeft()方法得到的是控件坐标距离父控件原点(左上角,坐标(0,0))的x轴距离,getReght()是控件右边距离父控件原点的x轴距离,同理,getTop和getButtom是距离的y轴距离。
if(left < 0){ left = 0; right = left + v.getWidth(); } if(right > screenWidth){ right = screenWidth; left = right - v.getWidth(); } if(top < 0){ top = 0; bottom = top + v.getHeight(); } if(bottom > screenHeight){ bottom = screenHeight; top = bottom - v.getHeight(); }这里的判断是为了是控件不超出屏幕以外,即:到达边界以后,不能再移动。
v.layout(left, top, right, bottom);
设置View的位置。
有一点忘记说了,就是像ImageView和TextView这些控件,要想实现拖动,要在xml文件中设置它的clickable为true。
Android:clickable="true"
就这样,这些就是这个demo的全部内容。
最后,是代码的下载地址:
具体下载目录在 /2012年资料/4月/1日/Android实现控件拖动【源码】/
更多Android相关信息见Android 专题页面 ?tid=11