ButterKnife

这个开源库可以让我们从大量的findViewById()和setonclicktListener()解放出来,其对性能的影响微乎其微(查看过Butter Knife的源码,其自定义注解的实现都是限定为RetentionPolicy.CLASS,也就是到编译出.class文件为止有效,在运行时不额外消耗性能,其是通过java注解自动生成java代码的形式来完成工作),其也有一个明显的缺点,那就是代码的可读性差一些。

1. 安装插件
打开Studio设置界面,选择Plugins,Browse repositories...,搜索ButterKnife,找到后
选择install,安装完毕后重启Studio。

2、工程设置

  在工程的build.gradle中添加本地仓

  dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'com.android.tools.build:gradle:2.2.0' } allprojects {
repositories {
jcenter()
mavenCentral() }
} 最后同步

3、Module设置

在头上添加

apply plugin: 'com.android.application'
apply plugin: 'android-apt'

在依赖库中添加

apply plugin: 'android-apt'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
最后同步

4. 使用

在任意布局中,右键点击代码中的布局文件(R.layout.activity_main),选中Generate,然后选中Butter.

或者将光标移动到布局文件后,按alt+insert(Eclipse快捷键),在选中Butter

打开的界面选中需要注解的View或者OnClick,也可以生成ViewHolder.

最新文章

  1. SQL Server 列存储索引强化
  2. CTSC&&APIO 2015 酱油记
  3. The BKS System for the Philco-2000 学习笔记
  4. (转载)关于gcd的8题
  5. 将android中的sample例子到eclipse中
  6. mysql 按月按周统计
  7. elasticsearch学习一、安装和配置
  8. JBoss for luna
  9. Task的运行过程分析
  10. Qt在各平台上的搭建qt-everywhere
  11. Vulkan Tutorial 17 Rendering and presentation
  12. Python中的常用魔术方法介绍
  13. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛D-80 Days--------树状数组
  14. [转] history.back()和history.go()的区别
  15. MySQL实验准备(一)--环境准备
  16. 小程序图片保存的相册授权失败问题,原接口wx.openSeting()已经废弃了的解决办法
  17. 直播 APP 的直播实现流程
  18. Hadoop集群完全分布式坏境搭建
  19. Windows: 如何配置IPv6隧道
  20. 关于 bitset 的一些题目

热门文章

  1. ChesFrame框架介绍
  2. javadoc in archive eclipse.
  3. WPF实现摄像头镜像翻转
  4. js实现输入验证码
  5. MongoDB学习--高级查询 [聚合Group]
  6. 织梦DedeCMS子目录移动到根目录的方法
  7. Python自动化运维之12、面向对象进阶
  8. python函数参数的pack与unpack
  9. python学习之旅:array 转 list
  10. 人见人爱a*b 杭电2035