Butter knife?簡介
Butter knife實在是太好用了!有了這個注解框架,再也不用寫煩瑣的findViewById了,給控件添加點擊事件啥的特別方便,大力推薦!
一開始用的時候確實不太習(xí)慣,但是用完之后發(fā)現(xiàn)很實用啊。代碼簡潔了不少啊。
官方翻譯太繞口,其實就是用@BindView?替代布局引用的findViewById
類似這樣式兒的
class ExampleActivity extends Activity{
? ? ? ? @BindView(R.id.title)TextView title;
? ? ? ? ?@BindView(R.id.subtitle)TextView subtitle;
? ? ? ? ?@BindView(R.id.footer)TextView footer;
@Override
public void onCreate(BundlesavedInstanceState{
? ? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? ? setContentView(R.layout.simple_activity);
? ? ? ? ? ?ButterKnife.bind(this);??//必須要寫,否則不生效
? ? ? ? ? ?//TODO Use fields...
? ?}
}
對應(yīng)我們之前寫的這部分代碼:如下
TextView title= (TextView) findViewById(R.id.title);
TextView subtitle= (TextView) findViewById(R.id.subtitle);
還有點擊事件,用法如下
@OnClick({R.id.back})
public void onClick(View view) {
? ? ?switch(view.getId()) {
? ? ? ? ? ? case R.id.back:
? ? ? ? ? ? ? ? ? ? ? Toast.makeText(MainActivity.this,"關(guān)閉",Toast.LENGTH_SHORT).show();
? ? ? ? ? ? ?break;
? ? ? }
}
Butter knife?的集成也很簡單,在project?的gradle.build中添加
dependencies{
? ? ? ? ? ?classpath'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
在app的gradle.build?里面引用一下庫,如下:
apply plugin: 'android-apt'
dependencies {
? ? ? ? ?compile? 'com.jakewharton:butterknife:8.8.1'
? ? ? ? ? apt 'com.jakewharton:butterknife-compiler:8.8.1'
}
第一次寫,如有疑問或建議,就評論吧。一次會在第一時間更正啊。