目录
一、生成java文件,xml布局和生成资源文件有关:
1.SmartFindViewById
2.GenerateFindViewById(很完美的一个插件)
3.LayoutCreator
4.Android Code Generator
5.Android Studio Prettify
6.AndroidAccessors
7.Android Layout ID Converter
8.BorePlugin
9.Exynap
10.MVPHelper
11.InnerBuilder
二、资源文件的管理和自动生成有关:
1.svgtoandroid
2.Android Holo Colors Generator
3.Android Drawable Importer(36M,有点大) 快速批量导入不同大小的drawable文件
4.Android Material Design Icon Generator 是一个可以生成【Material Design图标】的插件。
5.Android Styler 根据xml自动生成style样式(有点复杂,不实用)
6.android-strings-search-plugin
7.color-manager
8.AndroidPixelDimenGenerator
9.android-selector-intellij-plugin
下面这几个不常用,作为了解:
DimenGenerator 命令行生成dimen
android-selector-chapek
Strings-xml-tools
三、格式化xml布局工具:
1.LayoutFormatter
2.LayoutFormat
四、权限有关:
PermissionsDispatcher plugin
五、序列化工具:
1.Android Parcelable code generator自动生成Parcelable序列化
2.Android Parcelable code generator(for kotlin)使用kotlin开发时自动生成Parcelable序列化。
3.GenerateSerialVersionUID自动生成Serializable序列化。
4.SerializableParcelable Generator自动生成Serializable序列化
六、翻译有关:
1.ECTranslation
2.AndroidLocalizationer
3.TranslationPlugin
4.ReciteWords
七、第三方注解,事件和依赖注入库可视化工具:
1.Android ButterKnife Plugin Plus
2.Android ButterKnife Zelezny
3.Remove ButterKnife
4.eventbus3-intellij-plugin
5.dagger-intellij-plugin dagger
6.otto-intellij-plugin otto
7.databinding-support
一、生成java文件,xml布局和生成资源文件有关:
SmartFindViewByI
作用: 重构了GenerateFindViewById 项目的所有代码,使得在一定程度上可以更方便地进行后期扩展。并在GenerateFindViewById 项目基础上新增了智能查找布局文件,优化了展示界面,增加了 I18N 国际化支持等功能。
说明:
该插件可以依次通过以下6种方式来逐一尝试获取目标布局文件名,优先级从高到低,一旦有一个方法获取到了有效的布局文件名, 就会展示对应布局文件的所有拥有 id 的 View 控件,然后可以选择生成对应的 findViewById 和 onClick 点击事件代码。1.选中布局文件名,如选中代码段 setContentView(R.layout.activity_main); 中的 activity_main
2.检测当前光标所在行是否包含布局文件名(通过 R.layout. 前缀判断)
3.Activity setContentView(R.layout.xxx) 方法布局文件参数
4.Fragment(包括 support_v4 fragment) 中 onCreateView 方法中 inflate(R.layout.xxx... 布局参数
5.RecyclerViewAdapter 中 onCreateViewHolder 方法中 inflate(R.layout.xxx... 布局参数
6.弹输入框提示手动输入注意事项:如果是Activity,必须要有oncreate方法,如果是fragment,必须要有onCreateView方法,如果是适配器里面的布局,必须要有onCreateViewHolder 方法。也就说,必须要有布局参数。
快捷键: Ctrl + Alt + S
用法:
1.在一个 Activity, Fragment, RecyclerViewAdapter(包含直接或间接子类)甚至一个一般的类文件中,如果对应代码中已存在布局文件名,
可以对着类文件右键选择Generate,选择 SmartFindViewById 菜单(或是 Ctrl + Alt + S, 或者
点击菜单栏Code 选择 SmartFindViewById ), 这时就会自动查找布局文件,然后弹出一个展示目标布局
文件下的所有有 id 的 View 控件列表,如果你的布局文件不是写在 setContentView(R.layout.xxx) 等常见代码中,
你可以手动选定目标布局文件名或将光标定位到目标布局文件名所在的代码行, 最后还可以手动输入。2.在弹出的 View 控件列表弹框中,默认选中还没有编写 findViewById 代码的 View 控件,当然也可以手动选中或取消。
3.可以根据 View 控件是否有 android:clickable=true 属性或是 Button 类控件,自动勾选自动生成 onClick 点击事件代码。
4.可以编辑 View 控件生成类成员变量的变量名,View 成员变量名生成默认规则类似于: android:id='@+id/btn_submit_info'
对应的成员变量名为 mSubmitInfoBtn5.对于 Fragment 等需要 rootView.findViewById, 可以勾选 RootView 选项,同时可以设置该 RootView 的变量名,默认为 itemView,
对于非 Activity 类该选项默认勾选6.点击确认生成
演示图如下:
这是无布局参数生成的效果(看看有多麻烦就知道了):
![]()
SmartFindViewById 使用_无布局参数
这是有布局参数生成的效果:
SmartFindViewById 使用_有布局参数
2.GenerateFindViewById(很完美的一个插件)
快捷键:Ctrl+Alt+E
作用:
1)可输入布局字段、可选中布局文件字段,自动生成有id控件相应的代码(如果鼠标只是放在布局上,按下快捷键,会弹出输入框,提示输入布局;
鼠标双击布局,就不会有弹窗让你输入布局了)
2)自动生成onCreate/onCreateView方法
3)可编辑变量名
4)可选择是否生成OnClick代码
5)可选择是否LayoutInflater类型
6)支持ButterKnife用法(跟ButterKnife原始用法有区别,慎用)用法(用途很多,下面就简单的来几张图演示一下):
Activity如果没有onCreate方法,会先生成onCreate方法,再重新操作一次才生成有id控件相应的代码。如下图所示:
![]()
GenerateFindViewById 在 Activity 的使用
Fragment如果没有onCreateView方法,会先生成onCreateView方法,再重新操作一次才生成有id控件相应的代码。如下图所示:
![]()
GenerateFindViewById 在 Fragment 的使用
3.LayoutCreator
作用:可以让你在Activity/Fragment中自动生成findViewById等布局相关初始化代码,或者在Adapter中自动生成ViewHolder代码。
用法:鼠标放在布局文件上,按快捷键alt + Insert(或点右键选择Generate / 或点击菜单Code → Generate ),右键选择LayoutCreator,选择要生成的变量以及其他设置,点击confirm就可以了。
下面这个图是以Activity生成代码作为演示:
![]()
LayoutCreator 使用
【缺点】
1) 控件id是什么,用这个插件生成的控件命名就是什么,命名不规范。
2) EditText之类的可以编辑的控件,获取数据的时候,用的是id名字获取的,要手动改一下。(请看示例图上有一处报错的,那个就是。)4.Android Code Generator
用法: 找到布局文件名称,右键,选择Generate Android Code → 选择要生成的类型(默认是6种类型可供选择), 选择生成的代码存放的路径以及包名,如果有多个module或者lib,默认的包名是第一个module的包名(比如我的第一个module是app,包名是 com.lzw.logutilsdemo )
![]()
使用步骤
使用图解如下
![]()
Android Code Generator 生成 Activity 的代码
![]()
Android Code Generator 生成 Menu 的代码
【优点】根据布局文件快速生成对应的Activity,Fragment,Adapter,Menu类,点击Android Studio菜单的file --> setting--> Android Code Generator,可以快速生成文件,也可以复制代码到剪切板,很方便。
【缺点】
(1) 生成的menu需要自己复制粘贴,很麻烦。
(2) 每次都要手动设置路径和包名,很麻烦。
(3) 生成的点击事件需要自己去导包,很麻烦。
(4) 生成的控件如果是button之类的,是这种格式 findViewById(R.id.btn).setOnClickListener(this); 其他的都是很标准的,
看起来很不美观,建议改善。
(5) 生成的类名不规范,比如我的xml是activity_main2.xml,生成的Activity名字是ActivityMain2Activity,这显然是多此一举,
应该把前面那个Activity去掉,并且调整一下顺序,如果是MainActivity2就对了。
5.Android Studio Prettify
作用:
可以将代码中的字符串写在string.xml文件中,选中字符串鼠标右键选择Extract String resource
![]()
Android Studio Prettify 使用2. 从布局文件中生成对View的声明,这个插件帮助我们自动生成findViewById这种代码。
(有两种提示,一个是View Variables ,一个是View Fields,如下图所示:)
Android Studio Prettify 使用_View Variables
Android Studio Prettify 使用_View Fields
两者的区别:View Variables是直接生成局部变量,而且是排成一排;View Fields是生成全局变量并引用。
【缺点】
多个Module拥有同名的xml布局文件,有可能会设置到别的Module的xml布局文件中。
生成的代码都在onCreate或者onCreateView中,可读性差。
生成的全局变量的导包是在变量类型上的,而不是在类外面导包,很不规范。
6.AndroidAccessors 快速生成get set方法,用法: 在代码中写完Java Bean对象后,按下Alt+Insert后选择AndroidAccessors即可
使用图解如下:(图里面第一次用的是AndroidAccessors 演示的,第二次用的系统自带的演示的)
![]()
AndroidAccessors 使用
【缺点】Android Studio自带有这个功能,没必要下载这个插件
7.Android Layout ID Converter(这个最麻烦,不推荐使用,仅作为了解)
使用:鼠标在布局文件右键,在弹出来的菜单当中选择Convert Android layout xml,然后它会弹出一个面板,如下所示。选择要生成的代码的格式,按OK,这时它已经把生成的代码复制在你的粘贴板中,然后你在使用这个布局文件的Activity或Fragment中,按Ctrl + V 把代码粘贴出来就可以了。
Android Layout ID Converter 使用
【缺点】需要手动粘贴,麻烦;另外只能设置m前缀,_前缀或者无任何前缀,扩展性不好。
8. BorePlugin
Android Studio 自动生成代码插件(Android Studio插件搜索LayoutCreator就可以下载,具体请查看下文的LayoutCreator有详细讲解)
9. Exynap
Exynap 一个帮助开发者自动生成样板代码的 AndroidStudio 插件。只需要一个快捷方式(Ctrl + Shift + D),输入命令就可以生成代码了。
![]()
Exynap使用示范
10. MVPHelper一款Intellj IDEA 和Android Studio的插件,可以为MVP生成接口以及实现类,解放双手。具体请查看
Android Studio插件之MVPHelper,一键生成MVP代码 一文
使用图如下:
MVPHelper插件使用
11. innerbuilderInnerBuilder 一款Intellj IDEA 和Android Studio自动生成内部类Builder代码的插件。
使用:使用Shift + Alt + B 或 Alt + Insert并选择Builder ....选择要包括的字段,然后按OK。
当构建器已存在时生成构建器时,插件将尝试更新它。 它将添加缺少的字段和构建器方法,但不会删除任何字段或方法。示意图:
![]()
InnerBuilder 使用示意图
二、资源文件的管理和自动生成有关:
1. svgtoandroid
通过它可以完成从svg文件到Android VectorDrawable的自动化转换,传统做法是网上招一个工具生成一张svg图,然后导入到Android Studio。
新版Android Studio自带的svg转VectorDrawable功能:
![]()
Android Studio自带功能
下面一张图演示一下这个插件的用法:
![]()
用法介绍
SVG2VectorDrawable 使用
2.Android Holo Colors Generator
通过自定义Holo主题颜色生成对应的【Drawable】和【布局文件】,点击导航栏的蓝色的 H 符号,就可以了。各种右键,各种菜单栏都找了,找不到使用方式,找了半天最后在导航栏有个蓝色的H符号,太坑了,官方也没有讲解怎么使用。
![]()
Android Holo Colors Generator 使用
3.Android Drawable Importer(36M,有点大) 快速批量导入不同大小的drawable文件。
它导入Android图标与Material图标的Drawable ,批量导入Drawable,多源导入Drawable(即导入某张图片不同分辨率的图片到对应的drawable目录下)它可以减少导入图像到Android项目所需的工作量。
下面看几张截图:
点击任意一个文件,右键New,然后看最后4 个选项,这就是该插件的4个功能![]()
点击任意一个文件,右键New,然后看最后4 个选项,这就是该插件的4个功能
每个功能的具体演示
每个功能的具体演示
4.Android Material Design Icon Generator(14M,这个插件比较大) 是一个可以生成【Material Design图标】的插件 ,使用方式,右键项目,选择Material Design Icon,可以选择icon图标,大小,路径等
*点击任意一个文件,右键New,选择Material design icon,示意图如下:
![]()
Android Material Design Icon Generator 使用
选择设置要生成的内容,点OK
![]()
Android Material Design Icon Generator 使用
5.Android Styler 根据xml自动生成style样式(有点复杂,不实用)*用法:选中要生成样式的内容,复制到styles.xml里面,右键Paste Style或按快捷键 Ctrl + Shift + D,然后输入一个style的名字,最后在xml里面引用这个样式。
![]()
Android Styler 使用
6. android-strings-s earch-plugin
一个可以通过输入文字找到strings.xml资源的插件
官方的示意图如下:
官方的示意图
官方的示意图
【缺点】不能输入中文,即使是values-cn里面的strings.xml里面的中文也不能识别
![]()
不能识别中文
7. color-manager
颜色管理
使用也很简单:选择要放置的文件,从颜色面板选一个颜色,拖动到您要复制颜色名称/标签的位置。
示例图:
1.在xml中使用颜色
![]()
在xml中使用颜色
2.不在xml中使用颜色
![]()
不在xml中使用颜色
8. AndroidPixelDimenGenerator
根据输入的像素来自动生成Android项目的dimen.xml文件,主要是为了适配国产Android TV盒子的各种分辨率。 这个插件参考自 DimenGenerator
用法:
1.点击Tools菜单 → AndroidPixelDimenGenerator
2.根据提示输入分辨率的取值范围和分辨率
3.文件生成路径默认在当前项目的res,如果有多个module一般会在第一个的res中,如果遍历不到res文件夹,文件生成路径为当前项目的根目录。示意图:
![]()
示意图
9. android-selector-intellij-plugin
插件生成normal,press和按下水波纹颜色
使用方式:
1.首先在 res/values/colors.xml添加颜色
2.res目录中右键选择New → 选择 Android Selector(或Ctrl+ N快捷键)。
3.选择文件名,颜色,press按下颜色和按下水波纹(pressed-v21 )的颜色。示例图:
android-selector-intellij-plugin示例图
下面这几个不常用,作为了解:
DimenGenerator
命令行生成dimenandroid-selector-chapek
通过资源文件命名自动生成 Selector 文件,已经4年没更新,使用过程会报错。按照惯例,还是来一张效果图:
![]()
android-selector-chapek的使用
Strings-xml-tools
管理Android项目中的字符串资源,它提供了排序Android本地文件和添加缺少的字符串的基本操作。(3年没更新了,这个工具对Android Studio1.2+以上的都不支持,不推荐使用,仅作了解)
三、格式化xml布局工具:
1.LayoutFormatter 一键格式化你的 XML 文件,并且调整Android布局XML文件属性顺序,并且会将默认属性调整到前面,并在行的末尾使用自定义属性。
用法入下:
1\. 选择布局文件右键,或者直接在布局文件里面右键 -> Refactor -> Reformat Layout XML.
2. 快捷键: ctrl+alt+F使用效果对比图如下所示:
![]()
使用LayoutFormatter前后对比图
2.LayoutFormat 快速格式化xml代码(因为快捷键和LayoutFormatter 一样,不建议同时安装这两个插件)
功能有两个:
1.批量去格式化layout.xml,点击layout目录,右键Refactor,选择LayoutFormat(快捷键Ctrl +Alt + F)
![]()
layout format 批量格式化xml
2.修改某一个layout.xml硬编码,点击布局名字右键Refactor(或者打开布局,鼠标放在布局内容任意地方
右键Refactor),选择LayoutFormat(快捷键Ctrl +Alt + F)
layout format 使用
使用中可能会遇到的问题,在导入插件时,windows下可能会出现插件加载失败的情况。会报下面的错误:
cannot create class 'com.shang.layoutformat.LayoutFormat' [Plugin: com.shang.android.layoutformat] com.intellij.diagnostic.PluginException: cannot create class 'com.shang.layoutformat.LayoutFormat'
[Plugin: com.shang.android.layoutformat]...后面还有一大串,在此省略解决方式:这是使用的android studio 的运行时的jdk版本低于插件的jdk,换成最新的jre1.8就OK了
( 查看android studio 的 java 版本是在:菜单栏 > Help > About)四、权限有关:
PermissionsDispatcher plugin 自动生成动态权限的代码
用法:
1. 第1步.打开项目modle里面的build.gradle 右键 Generate -> Add PermissionsDispatcher dependencies,添加依赖
2. 第2步.打开 Activity/Fragment,右键 Generate -> Generate Runtime Permissions... 选择要设置的权限,
输入注解的方法名,点击Generate 按钮示范图如下:
![]()
PermissionsDispatcher plugin 使用
五、序列化工具:
1.Android Parcelable code generator 自动生成Parcelable序列化
![]()
Android Parcelable code generator使用
2.Android Parcelable code generator(for kotlin) 使用kotlin开发时自动生成Parcelable序列化,用法和上述类似。
3.GenerateSerialVersionUID 自动生成Serializable序列化。
【注意】默认情况下Intellij IDEA是关闭了继承了java.io.Serializable的类生成serialVersionUID的警告。如果需要ide提示生成serialVersionUID,那么需要做以下设置:
1、setting -> Inspections -> Serialization issues,将其展开后将 serialzable class without 'serialVersionUID'打上勾;
SerializableParcelable Generator的使用2、将光标放到类名上,按 atl+enter 键,就会提示生成serialVersionUID了4.SerializableParcelable Generator 自动生成Serializable序列化
六、翻译有关:
1. ECTranslation
这是一个可以对AndroidStudio中的英文进行翻译的一个插件,以后看源码的时候,就不用再去查字典了,方便多了,也可自定义快捷键,具体的可查看其使用说明。
使用:选择 Edit -> Translate或者按下Alt + I,即可翻译。(默认的是Meta + I ,windows上没有这个快捷键,我就改成了Alt + I, 点击菜单栏File -> Settinigs -> Keymap -> 搜索Translate - > 右键 add Keyboard Shortcut. 输入你想要的快捷键即可 )
![]()
使用方式
翻译结果
2. AndroidLocalizationer
可用于将项目中的 string 资源自动翻译为其他语言
AndroidLocalizationer 使用3. TranslationPlugin
又一翻译插件,可中英互译
说明:需要注册申请有道智云翻译服务,有一定的使用期限,如帐号到期或欠费,将无法使用。
TranslationPlugin 使用
4. ReciteWords
这是一个androidStudio翻译与陌生单词记录插件,你所翻译的单词会被记录在你当前用户目录下的ReciteWords.md文件中(如:C:\Users\Bolex\ReciteWords.md)。可以通过Markdown编辑器打开它进行学习。
使用很简单,选中代码,按下 Alt+Q(也可以自己设定)。即可翻译。效果如下:
ReciteWords 使用
翻译的单词会被记录在当前项目的根目录下的翻译历史记录.md文件中(如:\xxxProject\翻译历史记录.md)。可以通过Markdown打开它。as翻译后切换Project模式可以在项目文件夹中直接看到。效果如下:
![]()