支持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)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容