觉得我们程序猿就应该偷懒,例如我们开发各种插件、框架来提高工作效率,说白了我们就是想偷懒。Butterknife插件就是一个偷懒很好的例子。
我们刚开始学Android的时候,每天都在重复写那个烦人的findViewById,我那时候就在想有没有可以把他抽象出来,引入一键注解,免去每次写findViewById那么麻烦的事情。后来Google了一下,发现还真有这种插件,就是我们今天的主角** ButterKnife Zelezny **插件。现在这个插件已经更新到7.0.1版本了。
我们应该在Android Studio使用它呢?
- 首先我们要在Android Studio安装这个插件,打开File-->Settings-->Plugins,然后搜索Android ButterKnife Zelezny,安装它,ReStart Android Studio。就安装成功了。可是我们还不可以使用它。
- 接下来,我们需要在app的build.gradle中添加一句代码引用它
compile 'com.jakewharton:butterknife:7.0.0'
- 随后,在你需要导入注解的Activity或者Fragment或者ViewHolder的layout资源代码上,右击,选择 Generate然后Generate ButterKnife Injections,
快捷键 Alt+insert
,这时候生成类似于下列的选择框:
Element为view的类型,ID为layout中资源的id名字,Variable Name即为你在代码中引用出来的变量名,点击Confirm后即可。 - 关于7.0.1的ButterKnife的各种用法和功能,可以参考ButterKnife的github上的主页:
http://jakewharton.github.io/butterknife/
** 代码框 **
public class MainActivity extends AppCompatActivity {
/*private Button buttonTest;*/
//butterknife
@Bind(R.id.button_test)
Button buttonTest;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//butterknife
ButterKnife.bind(this);
/* //我们平时用的方式
buttonTest=(Button)findViewById(R.id.button_test);
buttonTest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "hello world!", Toast.LENGTH_LONG).show();
}
});*/
}
//butterknife
@OnClick(R.id.button_test)
public void onClick() {
Toast.makeText(MainActivity.this, "hello world!", Toast.LENGTH_LONG).show();
}
}
参考文章:
Android Studio上方便使用butterknife注解框架的偷懒插件Android Butterknife Zelezny
Butter Knife官网