阅读本文大概需要5分钟

前言

如果你还在一行一行的手写findViewById的话,只能证明你对新技术的敏感度太差,间接地暴露了你不善于接受新事物的性格特征,太过于因循守旧、按部就班,这对于一个程序员来说几乎是致命的,意味着只能远远地望着别人的背影慢慢前行...

正题

这里介绍的其实也不是什么新的东西了,GitHub上的很多项目都已经在使用了,就是Android之神JakeWharton主导的View绑定框架Butter Knife。

这个框架不仅仅帮我们摆脱了findViewById的束缚,同样适用于资源的绑定,我们可以使用@BindView、@BindString、@OnClick等注解,完成view、string、click事件的处理,不但节省了近乎一半的代码,而且可以自动化完成。

Butter Knife的使用很简单,只需要引入依赖库就可以在程序中使用,目前已经是8.1.0版本了,由此可见,还没用上的童鞋落后了多大一截。具体的使用参考GitHub地址,没多少东西,都是能看懂的。

节省多少代码量

直接节省的代码量几乎达到一半,下面简单的举个栗子

首先看看用传统的方法来写,声明控件:

private ImageTextView mOrgDoc;

private ImageTex

android bind 自动声明控件,Android注解神器ButterKnife使用说明相关推荐

  1. 视频教程-Android Material Design 新控件-Android

    Android Material Design 新控件 刘志远,北京邮电大学硕士研究生, 北京育华志远科技有限公司创始人, 育华志远教育品牌负责人,育华志远课程体系打造者. 率领团队为互联网行业培训千 ...

  2. android自定义view获取控件,android 自定义控件View在Activity中使用findByViewId得到结果为null...

    转载:http://blog.csdn.net/xiabing082/article/details/48781489 1.  大家常常自定义view,,然后在xml 中添加该view 组件..如果在 ...

  3. android点击隐藏控件,Android编程实现点击EditText之外的控件隐藏软键盘功能

    本文实例讲述了Android编程实现点击EditText之外的控件隐藏软键盘功能.分享给大家供大家参考,具体如下: 工具类 ... public static void hideKeyboard(Co ...

  4. android中互斥的控件,Android控件之Radiobutton与RadioGroup

    RadioButton 是一个单选控件,在一个RadioGroup中,各个RadioButton是互斥的 XML文件: xmlns:tools="http://schemas.android ...

  5. android自定义选年控件,Android精美日历控件CalendarView自定义使用完全解析

    项目github地址 此框架采用组合的方式,各个模块互相独立,可自由采用各种提供的控件组合,完全自定义自己需要的UI,周视图和月视图可通过简单自定义任意自由绘制,不怕美工提需求!!!下面教程将介绍如何 ...

  6. android 除了webview 浏览器控件,android开发我的新浪微博客户端-OAuth认证过程中用WebView代替原来的系统自带浏览器...

    前面的文章的OAuth认证过程在获取oauth_verifier码是是通过调用android系统带的浏览器进行用户授权认证的, 具体见:android开发我的新浪微博客户端-用户授权页面功能篇(3.2 ...

  7. android中翻页控件,Android GridView控件分页自定义

    上一篇:Android GridView控件自定义中,我们自定义了Android GridView控件. 包名解释: com.yaomei.activity.adapter   DEMO使用到的自定义 ...

  8. android内置picker控件,android中控件DatePicker控件-Fun言

    activity_main.xml android:id="@+id/dp" android:layout_width="match_parent" andro ...

  9. android多个拖动控件,Android使用WindowManager制作一个可拖动的控件

    效果图如下 第一步:新建DragView继承RelativeLayout package com.rong.activity; import com.rong.test.R; import andro ...

最新文章

  1. BZOJ 1042 [HAOI2008]硬币购物
  2. 小程序之 保存canvas生成商品图片附加小程序二维码 分享到朋友圈
  3. Spring IOC 核心流程浓缩
  4. Java基础复习笔记系列 九 网络编程
  5. 你必须知道的容器监控 (1) Docker自带子命令与Weave Scope
  6. tomcat web应用_具有可执行Tomcat的独立Web应用程序
  7. 虽然你没有考入清华大学,但是如果你有对于计算机的向往!!!请看过来
  8. shell 提示符个性化设置
  9. 2022-03-23 转载C++中std::auto_ptr被废弃,由std::unique_ptr代替的原因
  10. 【转载】什么时候该选C语言实现业务逻辑,什么时候该选Python?
  11. js获取url传递得参数
  12. 用python画图的作品_中学教案-python绘图
  13. 通过userAgent判断用户浏览器
  14. 远程命令行添加(删除)注册表键值(远程打开)
  15. R语言入门与数据分析(2)
  16. 从技术雷达看​DevOps的十年——容器技术和微服务
  17. java看片_java – 如何正确查看片段
  18. js获取前后三个月的时间戳
  19. 【微信小程序】页面返回且带回数据
  20. 襄阳教育云平台实名认证_襄阳教育云平台登录入口下载|襄阳教育云平台手机版登录入口 V3.8.7-清风安卓软件网...

热门文章

  1. C++第一次实验(基础班)项目2
  2. 公司企业邮箱有哪些好用的功能,邮件撤回怎么用?
  3. 逻辑漏洞——支付漏洞的原理与防御
  4. 逻辑漏洞挖掘之——逻辑漏洞概述
  5. 量子纠缠暗示了:我们这个世界很诡异!它到底纠缠了个啥?
  6. python tts 保存_TTS:文本语音转换,支持粤语和普通话Python视频编辑自动化,视频剪辑...
  7. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day20】—— MyBatis2
  8. 为何唐宋诗词鼎盛,而到了明清变成了小说
  9. 【MySQL】MySQL之示例数据库Sakila下载及安装
  10. 计算机系统如何恢复出厂设置路由器,路由器怎么恢复出厂设置