在android编程过程中,我们会写大量的布局和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得麻烦类,所以可以采用注解的方式去实现,而ButterKnife则是注解中相对简单易懂的很不错的开源框架,而网上的文档和例子都过时了,7.0之后的版本改动很大,之前的注解都不能用了,所以借鉴官方文档总结了一下,接下来就介绍一下如何使用。基本参照官方文档,加上自己的心得。

ButterKnife 优势:

1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率

2.方便的处理Adapter里的ViewHolder绑定问题

3.运行时不会影响APP效率,使用配置方便

4.代码清晰,可读性强

使用心得:

1.Activity ButterKnife.bind(this);必须在setContentView();之后,且父类bind绑定后,子类不需要再bind

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

3.属性布局不能用private or static 修饰,否则会报错

4.setContentView()不能通过注解实现。(其他的有些注解框架可以)

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

May everyone be happy every day and everything go well!

ButterKnife的简单使用相关推荐

  1. android ButterKnife的简单使用

    今天,简单讲讲android里如何使用ButterKnife. Android框架系列: 一.android EventBus的简单使用 二.android Glide简单使用 三.android O ...

  2. Android:ButterKnife的简单使用

    ButterKnife的简单使用 前言:ButterKnife ButterKnife的优势: 1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2.方便的处理Adapter里的 ...

  3. Butterknife 的简单使用 和 配合 Butterknife的插件 Zelezny

    2019独角兽企业重金招聘Python工程师标准>>> 点击跳转到GitHub 减少代码量 引入Butterknife 的依赖 implementation 'com.jakewha ...

  4. java黄油刀_一篇文章玩转ButterKnife,让代码更简洁

    前言 话说,Android开发的兄弟们都知道,每次初始化控件,设置相应的事件,写的那点过程多而且恶心.我们先一块回顾下不堪的曾经~那些年,我们是这样初始化控件: // 每次的习惯上来写一个initVi ...

  5. Android ButterKnife示例

    In this tutorial we're going to discuss the Android ButterKnife tool and look into it's usages. 在本教程 ...

  6. @column注解_Java 注解及其在 Android 中的应用

    Linux编程点击右侧关注,免费入门到精通! 作者丨WngShhnghttps://juejin.im/post/5b824b8751882542f105447d 一般的,注解在 Android 中有 ...

  7. [Android]ButterKnife-无尽之刃-绑定视图控件和事件的快速开发工具

    本文链接http://blog.csdn.net/jan_s/article/details/50772360,转载请留言 简单介绍 Butter knife是大神JakeWharton的一款Andr ...

  8. Android 按键防止过快点击(防抖),在ButterKnife中的简单解决方案。

    其实自己也在网上找了一些防抖的方案,比如RxBinding啊,NoDoubleClickListener啊,原始解决方案啊等等,不过那都不是我想要的. 因为项目中使用了ButterKnife绑定控件和 ...

  9. 最新Android 黄油刀(Butterknife)的简单使用

    Butter Knife! 准备工作 1在项目级的build.gradle中在文件顶部加入(不然会提示找不到apt()) 并且在文件内容中加入下面两行 2在工程的build.gradle中加入 3在代 ...

最新文章

  1. 乾坤合一~Linux设备驱动之终端设备驱动
  2. CTFshow 文件上传 web157
  3. Python 基础 函数
  4. idea设置scanner = new Scanner(System.in);的实时模板
  5. rstudio python_如虎添翼:用Python与C++扩展R语言的应用场景
  6. jms面试题_最新的20多个JMS面试问答(2020)
  7. 计算机系统中存储管理是,《计算机操作系统5、存储管理.doc
  8. linux 运行java jar_linux运行jar包、查看jar包进程、停止jar包
  9. VC++中使用内存映射文件处理大文件
  10. PAT (Basic Level) Practice1009 说反话
  11. 翼支付个人自定义收款接口
  12. 如何申请微信公众平台帐号
  13. 主仆模式(Master-Slave)
  14. [转] 汉语骂人最高境界!(爆笑)
  15. windows上配置TensorRT yolov5 -6.0部署 tensorrtx视频流推理
  16. 邮件退信“Remote Server returned '420 4.2.0 Recipient deferred because there is no Mdb'”
  17. 云计算:优势与未来趋势
  18. 带你7天玩转可视化建站平台
  19. 狐狸与兔子,代码解析
  20. CIELab图像的通道分解与合成

热门文章

  1. ui设计现状与意义_想转行UI设计?你必须要了解以下内容
  2. 蓝牙:为啥叫“蓝”牙,不叫“白”牙?
  3. 2020年电赛题目,命题专家权威解析!
  4. AD4003 VHDL设计及仿真
  5. pythonkeras数据增强_Keras数据增强参数
  6. 学校为什么要单位接收函_学校为什么要做校园文化建设?
  7. java环境classpath_Java开发环境配置之Path和classpath
  8. r23中文测试软件,Maxon公布最新的CINEBENCH R23测试软件
  9. php对分数排序,php-MySQL @grouping结果按ID并按分数排序”问题
  10. 栈和队列都是限制存取点的线性结构_栈的练习以及解析