本文为原创文章,欢迎转载,但请注明出处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的更多相关文章

  1. 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 ...

  2. 在Android Studio和Android Eclipse 更改现有项目里的SDK版本

    一,在Eclipse下改项目里的SDK的版本方法有几种,都比较简单:1.右键单击项目--->properties---->Resource----->Android在Project ...

  3. [转载]将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,解决办法

    eclipse 代码中文注释乱码 求解决 将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclips ...

  4. eclipse加速之禁用JS、jsp等文件的语法验证,eclipsejs

    eclipse加速之禁用JS.jsp等文件的语法验证 去除eclipse的JS验证:将windows->preference->Java Script->Validator-> ...

  5. 在Eclipse中导入文件和文件夹

    一. 将JAVA文件夹导入Eclipse中的方法: 方法一:直接将java文件夹复制,然后粘贴到项目下: 方法二:(1)打开Eclipse,点击项目的空白处,现在import: (2)现在Existi ...

  6. Eclipse添加小工具_打开当前文件所在文件夹

    CopyRight   yuhuashi http://www.cnblogs.com/chuyuhuashi/archive/2012/05/06/2485831.html 默认情况下使用eclip ...

  7. 【技术贴】Eclipse 右键打开当前文件所在文件夹

    1.使用插件,百度:OpenExplorer_1.5.0.v201108051513.jar 2.默认情况下使用eclipse打开当前文件所在文件夹很麻烦,需要右键点击 Package Explore ...

  8. MyEclipse安装Eclipse Memory Analyzer插件,并进行错误文件分析流程

    在看深入JVM虚拟机一书(p50,2.4 实战OutOfMemoryError),有一个Java堆溢出的例子,使用到了Eclipse Memory Analyzer插件,由于自己现在使用的是MyEcl ...

  9. freemarker里的分页--ftl文件的传值

    在上一篇<freemarker里的分页--ftl文件>中我们讨论了分页的逻辑,在这一篇文章中,我们開始看一下怎样进行ftl的传值 或许你在上一篇文章中已经发现了端倪.是的,不错,我们须要一 ...

随机推荐

  1. 布隆过滤器的概述及Python实现

    布隆过滤器 布隆过滤器是一种概率空间高效的数据结构.它与hashmap非常相似,用于检索一个元素是否在一个集合中.它在检索元素是否存在时,能很好地取舍空间使用率与误报比例.正是由于这个特性,它被称作概 ...

  2. 深入理解kmp中的next数组

    next数组 1. 如果对于值k,已有p0 p1, ..., pk-1 = pj-k pj-k+1, ..., pj-1,相当于next[j] = k. 此意味着什么呢?究其本质,next[j] = ...

  3. js数组的队栈操作

    <script> //一个数组 var testArray = [1,2,3,4,5]; //shift()方法,返回并移除数组中的第一个元素的值 testArray.shift();// ...

  4. 反射【类Class、成员变量Field、方法Method】

    Class<?> c = Class.forName("main.Main$MyClass"); //要包名+类名 Object obj = c.newInstance ...

  5. UVA213 信息解码

    对于lrj的想法,真是太清晰.自己真的是很难去做到.贴此代码,加以练习,加以感悟. #include<cstdio> #include<cstring> ][<<] ...

  6. squid源码安装下的conf文件默认值和提示

    #    WELCOME TO SQUID 3.0.STABLE26#    ----------------------------##    This is the default Squid c ...

  7. java System.arraycopy 数组复制和合并

    public class Test { public static void main(String[] args) { Integer[] a = {1,2,3}; Integer[] b = {4 ...

  8. vim中添加多行注释和删除多行注释

    1.多行注释:   a. 按下Ctrl + v,进入列模式;   b. 在行首选择需要注释的行;   c. 按下"I",进入插入模式:  d. 然后输入注释符("//&q ...

  9. 039. asp.netWeb用户控件之七实现具有虚拟键盘的功能的用户控件

    用户控件ascx代码: <%@ Control Language="C#" AutoEventWireup="true" CodeFile="K ...

  10. Yii2 利用controllerMap自定义控制器类

    版权声明:本文为博主原创文章,未经博主允许不得转载. Yii2框架为我们自定义好的  controllers,Models,views,标准的MVC结构框架,但是有些时候我们写接口希望结构更加清晰而不 ...