本文为原创文章,欢迎转载,但请注明出处http://www.cnblogs.com/yexiubiao/p/5204601.html,未在文章页面明显位置给出原文连接的,将保留追究法律责任的权利。
在使用Eclipse做Android开发编辑布局文件时,会遇到当点击左侧工程结构里的文件或文件夹时(例如点击红框1处文件),系统自动弹出对话框,让你重命名改文件(红框2),让人特别难受。
这是Eclipse或ADT的一个bug,Eclipse把我们的点击操作理解成拖动操作了(结果表现为文件被复制或移动到其他文件夹)。
这个操作效果等效于我们将activity_main.xml这个文件往下拖动了。如果被点击的文件下面还有文件,则效果表现为复制;如果下面是文件夹,则表现为该文件被移动到下面的文件夹里。
出现这个问题的原因是,当红框2处的工具栏占了很长的位置时,他跟左边红框1的工具栏之间基本没留下空余位置,如下图:
此时我们点击右侧的代码或配置文件等进行编辑时,会有新的工具组会展示出来(红框1),此时红框2的工具组在一行展示不了,该工具组会自动换到下一行展示,此时我们能看到画面会整体往下移(类似抖动效果)。
如果这时我们再去点击工程目录下的某个文件时(如activity_main.xml),此时回到非编辑状态,上图红框1处的工具组隐藏,原来需要换行显示的工具组此时能一行显示,所以它回到原位,两行变一行显示时,画面抖动了一下。此时系统判断我们的点击位置时会出错,相当于我们的点击操作在一瞬间下移了,点击操作被系统理解为拖动操作,引发了复制或移动文件的行为,这就是问题的原因。
知道问题的原因了,解决方法很简单,只需要将3处的工具栏往右边拉一点,在2处理留下一定空隙,当编辑状态被激活时,1处的工具组能够完全展示而不用换行,就不会出现界面抖动导致点击时位置错误的问题了。
总结,以上问题目前只在编辑Android布局文件时出现,在Java代码编辑视图里或普通java工程里没有遇到这个情况,可能只是ADT工具导致的bug,目前在adt-bundle-windows-x86_64_20140101下发现了这个问题。其他环境下暂时没遇到这个问题。