Eclipse点击工程结构里任意文件或文件夹变拖动(或复制)的bug
本文为原创文章,欢迎转载,但请注明出处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下发现了这个问题。其他环境下暂时没遇到这个问题。
Eclipse点击工程结构里任意文件或文件夹变拖动(或复制)的bug的更多相关文章
- 01 选择 Help > Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”,点击Archive...选择离线的ADT文件,contact all update ....千万不要勾选点击Add按钮,在对话框的name一栏输入“ADT”,点击Archive...选择离线的ADT文件,contact all update ....千万不要勾
引言 好久没碰过android,今天重新搭建了一次环境,遇到的问题记录下载.共以后使用. 安装 软件的软件有jdk+eclipse+adt+sdk 主要记录安装adt和sdk的过程,注意,adt和sd ...
- 在Android Studio和Android Eclipse 更改现有项目里的SDK版本
一,在Eclipse下改项目里的SDK的版本方法有几种,都比较简单:1.右键单击项目--->properties---->Resource----->Android在Project ...
- [转载]将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,解决办法
eclipse 代码中文注释乱码 求解决 将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclips ...
- eclipse加速之禁用JS、jsp等文件的语法验证,eclipsejs
eclipse加速之禁用JS.jsp等文件的语法验证 去除eclipse的JS验证:将windows->preference->Java Script->Validator-> ...
- 在Eclipse中导入文件和文件夹
一. 将JAVA文件夹导入Eclipse中的方法: 方法一:直接将java文件夹复制,然后粘贴到项目下: 方法二:(1)打开Eclipse,点击项目的空白处,现在import: (2)现在Existi ...
- Eclipse添加小工具_打开当前文件所在文件夹
CopyRight yuhuashi http://www.cnblogs.com/chuyuhuashi/archive/2012/05/06/2485831.html 默认情况下使用eclip ...
- 【技术贴】Eclipse 右键打开当前文件所在文件夹
1.使用插件,百度:OpenExplorer_1.5.0.v201108051513.jar 2.默认情况下使用eclipse打开当前文件所在文件夹很麻烦,需要右键点击 Package Explore ...
- MyEclipse安装Eclipse Memory Analyzer插件,并进行错误文件分析流程
在看深入JVM虚拟机一书(p50,2.4 实战OutOfMemoryError),有一个Java堆溢出的例子,使用到了Eclipse Memory Analyzer插件,由于自己现在使用的是MyEcl ...
- freemarker里的分页--ftl文件的传值
在上一篇<freemarker里的分页--ftl文件>中我们讨论了分页的逻辑,在这一篇文章中,我们開始看一下怎样进行ftl的传值 或许你在上一篇文章中已经发现了端倪.是的,不错,我们须要一 ...
随机推荐
- 类似baidu搜索 修正jquery的autocomplete在firefox下不支持中文输入法的bug
解决方法:
- MYSQL数据库导入数据时出现乱码的解决办法
我的一个网站在负载搞不定的情况下最终选择了数据库和程序分离的方式解决的高负载,但是再导入数据的时候出现了大量乱码,最终通过方法二解决掉导入数据的问题,后面再设计网站布局的时候数据库跟网站程序分离是个很 ...
- akka优势
1.提供可扩展的实时事务处理. 2.为以下目标设计: 垂直扩展(并发) 水平扩展(远程调用) 高容错 3.Akka的核心,Akka-actor非常小的,可以非常方便地放进你的应用中,提供你需要的异步无 ...
- Javascript中的数组方法总结
1.concat():将两个或多个数组合并成一个数组 arrayObject.concat(arrayX,arrayX,......,arrayX),返回一个新的数据,arrayX可以是数值也可以是数 ...
- MySQL初探
慕课网http://www.imooc.com/learn/122 课程学习笔记 修改MySQL提示符 shell>mysql --prompt 提示符 my ...
- 用JS实现的类似QQ密码的输入特效
<input ID="_PSD"></input> <script> function passwordText(ID,pd,mark){ ma ...
- linux bond配置步骤,七种bond模式说明
一.网卡绑定: 第一步:创建一个ifcfg-bondX # vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BONDING_OPT ...
- 【转载】浅谈游戏开发之2D手游工具
浅谈游戏开发之2D手游工具 来源:http://www.gameres.com/459713.html 游戏程序 平台类型: iOS Android 程序设计: 其它 编程语言: 引擎/SDK ...
- iOS_Swift初识之使用三种回调方式自定义Button
最近在学习Swift ,发现青玉伏案大神早期用OC写的一篇博客--IOS开发之自定义Button(集成三种回调模式) 很适合用来熟悉Swift的回调方式,于是我就用Swift翻版了一下,具体实现原理 ...
- JavaScript 的循环语句语法摘要
if条件语句语法: if(condition){ statements; } 理解:圆括号里的是条件参数 ,花括号里的为执行的语句. 示例代码:if(1>2){ alert("Th ...