查看类的继承关系的快捷键F4。在Android Studio经常使用快捷键这篇文章中。有写了。今天主要是讲一些关于这个快捷键出来的界面的一些配置。这块功能相对偏冷一些,可能非常多人都会用不到。可是关于这些配置,android studio中非常多都是类似的。
废话不多说,直接上图。例如以下图,我选中Activity,然后按F4。右边会出现一个和Activity有继承关系的图。
1、先简要分析下图中几个元素:
注:这边说第几个图标是从左到右的顺序来数的
第一个图标:显示全部的继承关系。包含父类,子类
第二个图标:显示父类
第三个图标:显示子类
第四个图标:按字母排序,这个用处不大,大家不用关心
Scope:这个是范围,就是你要查询哪个范围内的继承关系,后面下拉框就是选择你想要的范围。
后面几个图标我就不说了,关系不太大。
再说下。查询到的有继承关系的类图标有两种:
图标带小灰锁的:源代码中的类
不带小灰锁:当前project中的类
2、Scope简要分析:
解释前说明一点,这里所谓的不显示源代码中的类,都是向下。不是向上。举个样例,我查看Activity的继承关系,假设你选择的范围为不显示源代码的范围,只指Activity的源代码中子类的不显示,假设还是不理解的话,看以下production的说明。
Production:事实上就是查询范围当前project。这个时候就会隐藏继承Activity的非本project的类,比方ListActivity.
All:这个好理解,就是包含本project和源代码
Test:这个从某种意义上来说是和This Class是一样的。
This Class:当前类
Configure:配置你自己想设置的查询范围。
默认的选项就是以上几个。至于local,share是我自己加入的。
比方我选择了Production,例如以下图。你仅仅会看到MyActivity,我的代码中还有继承MyActivity的类。所以MyActivity前面有一个箭头。只是我没有展开。
又一次选择MyActivity,然后再按F4,调出继承关系图,选择第二个图标,然后范围选当前的类,如图,你能够看到MyActivity的父类。
选择第三个图标。这个时候你就仅仅能看到MyActivity的子类了。
预计可能有些人在用的时候会说我的怎么不灵。那是由于你的Scope选得有问题,一定要注意你选择的的Scope。
3、接下来主要讲点了Configure后怎样进行配置
1)图标及区域功能分析
先通过configure加入Scope,我加入了local和share两个,事实上你能加入的类型也就是两个,要么是local的要么是share的,名字你能够自己随便取哈。我这边便于说明所以直接以类型来命名。
share带一个白色小箭头,local没有,非常好区分。
第一个图标:加入一个Scope
第二个图标:删除Scope
第三个图标:复制一个Scope,这里是除了Name的全然复制,name默觉得Unnamed
第四个图标:将你选中的Scope另存为。这里说下有时候你可能会点了不灵,这个是Android Studio的bug,你把对话框关掉,又一次点configure一般就能行了。
第五、六个图标:换位置图标,比方你能够把local移到share上面。
Pattern:范围匹配(这块内容一会和右下的四个button一起讲)
Pattern以下有一排可选择的内容,这块内容事实上就是选择你的project还有引用的包要以什么方式来显示,假设你认为这块太混乱,不看也罢。你选择不同的方式,以下的Production Classes和Library Classes会依据你选择的显示方式进行显示。
Include,Exclude:这两个是相对的,一个加入,一个移除,都是针对Pattern,这里是针对包(package)级别内容的添加移除
Include Recursively,Exclude Recursively:这两个也是相对的。添加和移除Pattern的内容。这里是针对类级别的内容的添加和移除
Pattern的内容你还能够通过点击Pattern后面的白色button。来直接编辑。
2)配置參数
选中share,然后copy,你能够看到下图,出现了一个Unnamed的Scope,Unnamed中Pattern内容是和share一样的。我将share的Pattern设置到MyActivity类:
将local的Pattern设置到com.example.myapp.*这个包中
配置完毕。点ok。回到继承关系页面,我们来看下效果。选择share,你会看到这个时候MyActivity的子类BActivity不会被查询出来了。由于不在查询范围内。
选择local,local的范围是整个package,这个时候你能够看到BActivity也被查询出来了
OK,今天就说到这,下一篇会介绍假设用Gradle构建project