android第三方框架(五)ButterKnife

參考鏈接Android Butterknife使用方法總結(jié) - 簡書

ButterKnife主要用于快速的綁定控件和監(jiān)聽相應(yīng)的事件,避免原生傳統(tǒng)的綁定步驟的繁瑣,加快開發(fā)速度,減少做無用工作,采用的了注解的方式,ButterKnife用到的注解并不是在運行時反射的,而是在編譯的時候生成新的class。

在組件當(dāng)中以及adapter都可以應(yīng)用,范圍很廣。

配置方式:

工程下

buildscript {?

?repositories {?

?jcenter()?

?}?

?dependencies {?

?classpath'com.android.tools.build:gradle:2.3.3'

classpath'com.jakewharton:butterknife-gradle-plugin:8.8.1'? ?//添加這一行

}}

app的build中添加:apply plugin:'com.jakewharton.butterknife'

dependencies中添加:

compile'com.jakewharton:butterknife:8.8.1'

annotationProcessor'com.jakewharton:butterknife-compiler:8.8.1'

使用細(xì)節(jié):

在Activity 類中綁定 :ButterKnife.bind(this);必須在setContentView();之后綁定;且父類bind綁定后,子類不需要再bind。

在非Activity 類(eg:Fragment、ViewHold)中綁定: ButterKnife.bind(this,view);這里的this不能替換成getActivity()。

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


在activity使用,綁定在Oncreate里使用mBinder=ButterKnife.bind(this),解綁在OnDestroy中使用mBinder.unbind();

在fragment使用,綁定在onCreateView里使用unbinder = ButterKnife.bind(this, view),解綁在onDestroyView()中unbinder.unbind();

在adapter中使用,在viewHolder中使用ButterKnife.bind(this, view);

可以綁定單個或多個控件,字符串,顏色,bitmap等。

綁定單個控件:

@BindView( R2.id.button)

public Button button;

綁定多個控件:

@BindViews({ R2.id.button1, R2.id.button2, R2.id.button3})

public List buttonList;//之后可以采用list相同的操作完成相關(guān)功能,如:buttonList.get(0).setText("hello 1 ");


事件綁定:

綁定點擊事件:

綁定控件點擊事件:@OnClick( )

綁定控件長按事件:@OnLongClick( )

例如:@OnClick(R2.id.button1 )//給 button1 設(shè)置一個點擊事件?

? ? ? ? ? ?public void showToast(){}


自定義控件使用ButterKnife,直接采用注解方式。

其他綁定參考:

更加快捷的途徑:ButterKnife的插件zelezny,在android studio 的plugins中直接搜索安裝即可。在setContentView右鍵Generate可以快速完成上述的綁定,插件自動生成。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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