支持ButterKnife的Android Studio插件

前言

插件更新到支持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ù)ImageViewTextView不能點(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ì)Fragmentview的初始化放在onCreate里面,添加LayoutInflater生成区宇。
  • 1.0 支持ActivityFragment娃殖,添加可選生成的字段,可編輯變量名议谷,可選擇是否LayoutInflater類型炉爆,添加快捷鍵Ctrl+Alt+Etext卧晓、hint的值添加到字段注釋芬首,添加LayoutInflater生成,添加OnClick生成代碼逼裆。

ButterKnife演示

ButterKnife生成@BindView和@OnClick


ButterKnife生成@BindView和@OnClick

支持LayoutInflater


支持LayoutInflater

安裝

  • 下載項(xiàng)目里面的GenerateFindViewById.jar包郁稍,然后打開(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用法

  1. 新建Activity或者Fragment后,選中布局按下快捷鍵Alt+Insert,然后選擇ButterKnife或者在菜單欄中的Code中選擇ButterKnife,或者直接使用快捷鍵Ctrl+Alt+Shift+E
  2. 如果沒(méi)有選中布局竟趾,會(huì)彈出輸入框憔购,輸入布局,插件會(huì)自動(dòng)遍歷布局列出所有帶id的控件
  3. 會(huì)自動(dòng)檢測(cè)是否已有代碼岔帽,可選擇是否生成玫鸟、是否生成OnClick代碼,可編輯變量名
  4. 可選擇是否生成View view = LayoutInflater.from(context).inflater()代碼犀勒,可編輯生成的View的變量名
  5. 點(diǎn)擊確認(rèn)生成

規(guī)則

  1. Activity如果沒(méi)有onCreate方法屎飘,會(huì)先生成onCreate方法妥曲,Fragment如果沒(méi)有onCreateView方法,會(huì)先生成onCreateView方法
  2. 沒(méi)有id的控件是不會(huì)識(shí)別到的
  3. 識(shí)別到的控件變量名為mAaBbCc命名
  4. 識(shí)別到的控件中有clickable = true屬性钦购,自動(dòng)生成setOnClickListener代碼和onClick方法
  5. 識(shí)別到的控件ButterKnife都可以生成到onClick方法
  6. 自動(dòng)識(shí)別布局中的include標(biāo)簽, 讀取對(duì)應(yīng)布局中的控件
  7. 識(shí)別到的控件中有text或者hint屬性檐盟,會(huì)自動(dòng)生成里面的值到字段注釋
  8. LayoutInflater生成的變量名規(guī)則為mAaBbCc+View的變量名(如mView會(huì)去掉m)
  9. ButterKnife生成的LayoutInflaterButterKnife.findById()來(lái)替換view.findViewById()
  10. ButterKnife生成onClick方法包含的id屬性是根據(jù)當(dāng)前已有@OnClick注解說(shuō)包含的值里面的id和選擇的控件id來(lái)重新生成@OnClick的值

GitHub

源碼地址:GenerateFindViewById,歡迎star肮雨,issues遵堵。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市怨规,隨后出現(xiàn)的幾起案子陌宿,更是在濱河造成了極大的恐慌,老刑警劉巖波丰,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壳坪,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡掰烟,警方通過(guò)查閱死者的電腦和手機(jī)爽蝴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)纫骑,“玉大人蝎亚,你說(shuō)我怎么就攤上這事∠裙荩” “怎么了发框?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)煤墙。 經(jīng)常有香客問(wèn)我梅惯,道長(zhǎng),這世上最難降的妖魔是什么仿野? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任铣减,我火速辦了婚禮,結(jié)果婚禮上脚作,老公的妹妹穿的比我還像新娘葫哗。我一直安慰自己,他們只是感情好球涛,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布魄梯。 她就那樣靜靜地躺著,像睡著了一般宾符。 火紅的嫁衣襯著肌膚如雪酿秸。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天魏烫,我揣著相機(jī)與錄音辣苏,去河邊找鬼肝箱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛稀蟋,可吹牛的內(nèi)容都是我干的煌张。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼退客,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼骏融!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起萌狂,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤档玻,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后茫藏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體误趴,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年务傲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凉当。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡售葡,死狀恐怖看杭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挟伙,我是刑警寧澤泊窘,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站像寒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏瓜贾。R本人自食惡果不足惜诺祸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望祭芦。 院中可真熱鬧筷笨,春花似錦、人聲如沸龟劲。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)昌跌。三九已至仰禀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蚕愤,已是汗流浹背答恶。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工饺蚊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人悬嗓。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓污呼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親包竹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子燕酷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容