當前位置:
首頁 > 最新 > 令人超贊的ButterKnife—快捷、方面、好用!你還在等什麼

令人超贊的ButterKnife—快捷、方面、好用!你還在等什麼

前言介紹

你可能沒有了解過的ButterKnife8.8.1的新特性

博客地址:

聲明原創本文為codeGoogler授權發布,未經允許請勿轉載

正文

ButterKnife8.8.1的用法什麼是ButterKnife

ButterKnife是目前常用的一種依託Java註解機制實現輔助代碼生成的框架;用到了註解處理器。

它是一個專註於Android系統的View注入框架,將Android視圖和回調方法綁定到成員變數和方法上;可視化一鍵生成;可以減少大量的findViewById以及setOnClickListener代碼,是註解中相對簡單易懂的開源框架 。

一句話概括:依賴注入框架,主要用於註解,減少代碼。butterknife表面意思黃油刀

ButterKnife 優勢:

1.強大的View綁定和Click事件處理功能,簡化代碼,提升開發效率

2.方便的處理Adapter里的ViewHolder綁定問題

3.運行時不會影響APP效率,使用配置方便

4.代碼清晰,可讀性強

使用心得:

1.Activity ButterKnife.bind(this);必須在setContentView();之後,且父類bind綁定後,子類不需要再bind,Activity不需要unbind

2.Fragment ButterKnife.bind(this, mRootView);

3.屬性布局不能用private or static 修飾,否則會報錯

4.setContentView()不能通過註解實現。(其他的有些註解框架可以)

使用方法

導入

一鍵生成資源id

該圖引依凡王子的博客: (http://www.cnblogs.com/zhengjunfei/p/5910497.html)

GIF/1K

英文使用說明地址:

http://jakewharton.github.io/butterknife/

API文檔地址:

http://jakewharton.github.io/butterknife/javadoc/

GitHub源碼地址:

https://github.com/JakeWharton/butterknife

測試效果如下

GIF/1K

GIF/1K

注意事項

1)在Activity 類中綁定 :ButterKnife.bind(this);

必須在setContentView();之後綁定;且父類bind綁定後,子類不需要再bind。

2)在非Activity 類(eg:Fragment、ViewHold)中綁定:

ButterKnife.bind(this,view);

這裡的this不能替換成getActivity()。

3)activity中不需要解綁

在Activity中不需要做解綁操作,在Fragment 中必須在onDestroyView()中做解綁操作。

4)ButterKnife的修飾符

使用ButterKnife修飾的方法和控制項,不能用private or static 修飾,否則會報錯。

5)setContentView()不能通過註解實現。(其他的有些註解框架可以)

6)對於mvc設計模式

使用Activity為根視圖綁定任意對象時,如果你使用類似MVC的設計模式你可以在Activity 調用ButterKnife.bind(this, activity),來綁定Controller。

7)子View的相關綁定

使用ButterKnife.bind(this,view)綁定一個view的子節點欄位。如果你在子View的布局裡或者自定義view的構造方法里 使用了inflate,你可以立刻調用此方法。或者,從XML inflate來的自定義view類型可以在onFinishInflate回調方法中使用它。

8)修飾類型不能是:private 或者 static

bind資源

綁定顏色

綁定View

綁定多個View

綁定String資源數組

綁定Bitmap 資源

事件的bind註解

@OnClick—點擊事件

@OnCheckedChanged —選中,取消選中

@OnEditorAction —軟鍵盤的功能鍵

@OnFocusChange —焦點改變

@OnItemClick item—條目被點擊

@OnItemLongClick item—長按(返回真可以攔截onItemClick)

@OnItemSelected —item被選擇事件

@OnLongClick —長按事件

@OnPageChange —頁面改變事件

@OnTextChanged —EditText裡面的文本變化事件

@OnTouch —觸摸事件

@Optional

設置多個View重點講解

綁定多個OnCLick

綁定listView的OnItemClick

綁定listView的OnItemLongClick

綁定ChexkBox的OnItemLongClick

單個綁定onClick事件

項目地址:

https://github.com/androidstarjack/EventBusTestSimple

更多文章相信自己,沒有做不到的,只有想不到的

在這裡獲得的不僅僅是技術!

—終端研發部—

這裡學到不僅僅是技術

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 終端研發部 的精彩文章:

NDK開發筆記—ndk環境安裝及其搭建
ReactNative開發之旅—開發環境搭建
教你手擼一個APP銷控表滑動自定義View—多RecyclerView同步滾動

TAG:終端研發部 |