ButterKnife的简单使用
在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的简单使用相关推荐
- android ButterKnife的简单使用
今天,简单讲讲android里如何使用ButterKnife. Android框架系列: 一.android EventBus的简单使用 二.android Glide简单使用 三.android O ...
- Android:ButterKnife的简单使用
ButterKnife的简单使用 前言:ButterKnife ButterKnife的优势: 1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2.方便的处理Adapter里的 ...
- Butterknife 的简单使用 和 配合 Butterknife的插件 Zelezny
2019独角兽企业重金招聘Python工程师标准>>> 点击跳转到GitHub 减少代码量 引入Butterknife 的依赖 implementation 'com.jakewha ...
- java黄油刀_一篇文章玩转ButterKnife,让代码更简洁
前言 话说,Android开发的兄弟们都知道,每次初始化控件,设置相应的事件,写的那点过程多而且恶心.我们先一块回顾下不堪的曾经~那些年,我们是这样初始化控件: // 每次的习惯上来写一个initVi ...
- Android ButterKnife示例
In this tutorial we're going to discuss the Android ButterKnife tool and look into it's usages. 在本教程 ...
- @column注解_Java 注解及其在 Android 中的应用
Linux编程点击右侧关注,免费入门到精通! 作者丨WngShhnghttps://juejin.im/post/5b824b8751882542f105447d 一般的,注解在 Android 中有 ...
- [Android]ButterKnife-无尽之刃-绑定视图控件和事件的快速开发工具
本文链接http://blog.csdn.net/jan_s/article/details/50772360,转载请留言 简单介绍 Butter knife是大神JakeWharton的一款Andr ...
- Android 按键防止过快点击(防抖),在ButterKnife中的简单解决方案。
其实自己也在网上找了一些防抖的方案,比如RxBinding啊,NoDoubleClickListener啊,原始解决方案啊等等,不过那都不是我想要的. 因为项目中使用了ButterKnife绑定控件和 ...
- 最新Android 黄油刀(Butterknife)的简单使用
Butter Knife! 准备工作 1在项目级的build.gradle中在文件顶部加入(不然会提示找不到apt()) 并且在文件内容中加入下面两行 2在工程的build.gradle中加入 3在代 ...
最新文章
- 乾坤合一~Linux设备驱动之终端设备驱动
- CTFshow 文件上传 web157
- Python 基础 函数
- idea设置scanner = new Scanner(System.in);的实时模板
- rstudio python_如虎添翼:用Python与C++扩展R语言的应用场景
- jms面试题_最新的20多个JMS面试问答(2020)
- 计算机系统中存储管理是,《计算机操作系统5、存储管理.doc
- linux 运行java jar_linux运行jar包、查看jar包进程、停止jar包
- VC++中使用内存映射文件处理大文件
- PAT (Basic Level) Practice1009 说反话
- 翼支付个人自定义收款接口
- 如何申请微信公众平台帐号
- 主仆模式(Master-Slave)
- [转] 汉语骂人最高境界!(爆笑)
- windows上配置TensorRT yolov5 -6.0部署 tensorrtx视频流推理
- 邮件退信“Remote Server returned '420 4.2.0 Recipient deferred because there is no Mdb'”
- 云计算:优势与未来趋势
- 带你7天玩转可视化建站平台
- 狐狸与兔子,代码解析
- CIELab图像的通道分解与合成
热门文章
- ui设计现状与意义_想转行UI设计?你必须要了解以下内容
- 蓝牙:为啥叫“蓝”牙,不叫“白”牙?
- 2020年电赛题目,命题专家权威解析!
- AD4003 VHDL设计及仿真
- pythonkeras数据增强_Keras数据增强参数
- 学校为什么要单位接收函_学校为什么要做校园文化建设?
- java环境classpath_Java开发环境配置之Path和classpath
- r23中文测试软件,Maxon公布最新的CINEBENCH R23测试软件
- php对分数排序,php-MySQL @grouping结果按ID并按分数排序”问题
- 栈和队列都是限制存取点的线性结构_栈的练习以及解析