前言
插件更新到支持ButterKnife(版本為8.4.0)箍土,在原有的GenerateFindViewById插件上涨薪,添加多一個(gè)Action悬赏,用于區(qū)分FidViewById和ButterKnife模式,并且用Factory.createAnnotationFromText()
方法來(lái)實(shí)現(xiàn)為變量添加注解惧所。
至于如何添加多個(gè)Action崖咨、為變量添加注解和自己編寫(xiě)插件可以看
自己編寫(xiě)Android Studio插件锻拘。
FindViewById說(shuō)明請(qǐng)看
Android Studio插件GenerateFindViewById。
ButterKnife
更新
- 1.3 變量名支持三種命名格式1击蹲、
mAaBbCc
署拟,2、aa_bb_cc
歌豺,3推穷、aaBbCc
- 1.2.2
Onclick
可以全選或取消全選 - 1.2.1 修復(fù)
ImageView
和TextView
不能點(diǎn)擊OnClick
- 1.2 支持
ViewHolder
- 1.1.2
Button
默認(rèn)勾選OnClick
- 1.1 支持
ButterKnife
,版本為8.4.0类咧,快捷鍵Ctrl+Alt+Shift+E
馒铃,可選擇是否生成ButterKnife.bind()
蟹腾,對(duì)Fragment
的view
的初始化放在onCreate
里面,添加LayoutInflater
生成区宇。 - 1.0 支持
Activity
和Fragment
娃殖,添加可選生成的字段,可編輯變量名议谷,可選擇是否LayoutInflater
類型炉爆,添加快捷鍵Ctrl+Alt+E
,text
卧晓、hint
的值添加到字段注釋芬首,添加LayoutInflater
生成,添加OnClick
生成代碼逼裆。
ButterKnife演示
ButterKnife生成@BindView和@OnClick
ButterKnife生成@BindView和@OnClick
支持LayoutInflater
支持LayoutInflater
安裝
- 下載項(xiàng)目里面的
GenerateFindViewById.ja
r包郁稍,然后打開(kāi)AS的Plugins,點(diǎn)擊Install plugin from disk...
安裝 - 打開(kāi)AS的Plugins胜宇,點(diǎn)擊
Browse repositories...
然后搜索GenerateFindViewById
艺晴,然后安裝
快捷鍵
- ButterKnife:
Ctrl+Alt+Shift+E
說(shuō)明
- 支持ViewHolder
- 支持Activity和Fragment
- 可輸入布局字段,可選中布局文件字段掸屡,自動(dòng)生成有id控件相應(yīng)的代碼
-
Activity
如果沒(méi)有onCreate
方法,會(huì)先生成onCreate
方法然评,再重新操作一次才生成有id控件相應(yīng)的代碼仅财。 -
Fragment
如果沒(méi)有onCreateView
方法,會(huì)先生成onCreateView
方法碗淌,再重新操作一次才生成有id控件相應(yīng)的代碼盏求。 - 可選生成的字段,可編輯變量名亿眠,可選擇是否
LayoutInflater
類型碎罚。 -
LayoutInflater
類型生成的變量規(guī)則,如LayoutInflater
的變量為mView
纳像,生成控件變量后面會(huì)加上View
荆烈。
ButterKnife用法
- 新建
Activity
或者Fragment
后,選中布局按下快捷鍵Alt+Insert
,然后選擇ButterKnife
或者在菜單欄中的Code
中選擇ButterKnife
,或者直接使用快捷鍵Ctrl+Alt+Shift+E
- 如果沒(méi)有選中布局竟趾,會(huì)彈出輸入框憔购,輸入布局,插件會(huì)自動(dòng)遍歷布局列出所有帶id的控件
- 會(huì)自動(dòng)檢測(cè)是否已有代碼岔帽,可選擇是否生成玫鸟、是否生成
OnClick
代碼,可編輯變量名 - 可選擇是否生成
View view = LayoutInflater.from(context).inflater()
代碼犀勒,可編輯生成的View
的變量名 - 點(diǎn)擊確認(rèn)生成
規(guī)則
-
Activity
如果沒(méi)有onCreate
方法屎飘,會(huì)先生成onCreate
方法妥曲,Fragment
如果沒(méi)有onCreateView
方法,會(huì)先生成onCreateView
方法 - 沒(méi)有id的控件是不會(huì)識(shí)別到的
- 識(shí)別到的控件變量名為
mAaBbCc
命名 - 識(shí)別到的控件中有
clickable = true
屬性钦购,自動(dòng)生成setOnClickListener
代碼和onClick
方法 - 識(shí)別到的控件
ButterKnife
都可以生成到onClick
方法 - 自動(dòng)識(shí)別布局中的
include
標(biāo)簽, 讀取對(duì)應(yīng)布局中的控件 - 識(shí)別到的控件中有
text
或者hint
屬性檐盟,會(huì)自動(dòng)生成里面的值到字段注釋 -
LayoutInflater
生成的變量名規(guī)則為mAaBbCc+View
的變量名(如mView
會(huì)去掉m
) -
ButterKnife
生成的LayoutInflater
是ButterKnife.findById()
來(lái)替換view.findViewById()
-
ButterKnife
生成onClick
方法包含的id屬性是根據(jù)當(dāng)前已有@OnClick
注解說(shuō)包含的值里面的id和選擇的控件id來(lái)重新生成@OnClick
的值
GitHub
源碼地址:GenerateFindViewById,歡迎star肮雨,issues遵堵。