Android 依赖注入 ButterKnife 基本使用 - 渐行渐远渐无声 - 博客园
http://www.cnblogs.com/fansen/p/5653887.html

ButterKnife使用详解 - ITjianghuxiaoxiong的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/itjianghuxiaoxiong/article/details/50177549

JakeWharton/butterknife: Bind Android views and callbacks to fields and methods.
https://github.com/JakeWharton/butterknife

avast/android-butterknife-zelezny: Android Studio plug-in for generating ButterKnife injections from selected layout XML.
https://github.com/avast/android-butterknife-zelezny

Sample Code:

public class MainActivity extends AppCompatActivity {

    @BindView(R.id.edit_name)
EditText userName; @BindView(R.id.edit_pass)
EditText password; @BindView(R.id.tv_hint)
TextView hintTxt; @BindView(R.id.btn_confirm)
Button confirmBtn; @BindView(R.id.checkbox)
CheckBox checkBox; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
setContentView(R.layout.mylayout);
ButterKnife.bind(this); } @OnClick(R.id.btn_confirm)
public void onClick() { // or submit() ...
Toast.makeText(this, "信息提交中!", Toast.LENGTH_SHORT).show();
if ( TextUtils.isEmpty(userName.getText()) || TextUtils.isEmpty(password.getText()) ) {
hintTxt.setText("用户名或密码为空");
hintTxt.setTextColor(Color.RED);
hintTxt.setVisibility(View.VISIBLE);
}
} // onCheckedChanged impl method 1
@OnCheckedChanged(R.id.checkbox)
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
//选择状态 显示明文--设置为可见的密码
password.setTransformationMethod(
HideReturnsTransformationMethod.getInstance() );
} else {
//默认状态显示密码为不可见的黑点
password.setTransformationMethod(
PasswordTransformationMethod.getInstance() );
}
} // onCheckedChanged impl method 2
public void onCheckedChanged2(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
//选择状态 显示明文--设置为可见的密码
password.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
} else {
//默认状态显示密码为不可见的黑点
password.setInputType(InputType.TYPE_CLASS_TEXT |
InputType.TYPE_TEXT_VARIATION_PASSWORD);
}
} }

Zelezny插件的使用

在AndroidStudio->File->Settings->Plugins->搜索Zelezny下载添加就行 ,可以快速生成对应组件的实例对象,不用手动写。使用时,在要导入注解的Activity 或 Fragment 或 ViewHolder的layout资源代码上,右键——>Generate——Generate ButterKnife Injections,然后就出现如图的选择框。(此动态图来自官网)

ButterKnife注入注解框架用法的更多相关文章

  1. Android ButterKnife注解框架使用

    这段时间学习了下ButterKnife注解框架,学习的不是特别深入,但是基础也差不多了,在此记录总结一下. ButterKnife是一个Android View注入的库,主要是注解的使用,可以减少很多 ...

  2. Android注解框架实战-ButterKnife

    文章大纲 Android注解框架介绍 ButterKnife实战 项目源码下载   一.框架介绍 为什么要用注解框架?  在Android开发过程中,我们经常性地需要操作组件,操作方法有findVie ...

  3. ButterKnife注解框架详解

    Android 懒人注解框架 :https://github.com/JakeWharton/butterknife 前言: 注解,相信很多同学都用到了,对控件进行初始化的时候需要用到 findVie ...

  4. java注解框架

    我们经常会在java代码里面看到:“@Override”,“@Target”等等样子的东西,这些是什么? 在java里面它们是“注解”. 下面是百度百科的解释:java.lang.annotation ...

  5. 注解框架---AndroidAnnotations

    AndroidAnnotations是一个开源框架,旨在加快Android开发的效率.通过使用它开放出来的注解api,你差点儿可以使用在不论什么地方, 大大的降低了无关痛痒的代码量,让开发人员可以抽身 ...

  6. Android 注解框架对比

    Java的注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,标记可以加在包,类,属性,方法,本地变量上.然后你可以写一个注解处理器去解析处理这些注解(人称编译时注解 ...

  7. PHP依赖注入原理与用法分析

    https://www.jb51.net/article/146025.htm 本文实例讲述了PHP依赖注入原理与用法.分享给大家供大家参考,具体如下: 引言 依然是来自到喜啦的一道面试题,你知道什么 ...

  8. 自己来实现一套IOC注解框架

    我们自己来实现一套IOC注解框架吧,采用的方式反射加注解和Xutils类似,但我们尽量不写那么麻烦,也不打算采用动态代理,我们扩展一个检测网络的注解,比如没网的时候我们不去执行方法而是给予没有网络的提 ...

  9. 开发自己的山寨Android注解框架

    目录 开发自己的山寨Android注解框架 开发自己的山寨Android注解框架 参考 Github黄油刀 Overview 在上一章我们学习了Java的注解(Annotation),但是我想大家可能 ...

随机推荐

  1. 【python 2.7】获取外部参数

    import sys res_0 = sys.argv[0] res_1 = sys.argv[1] res_2 = sys.argv[2] print res_0 print res_1 print ...

  2. 2019第十届蓝桥杯 E题 迷宫

    /*输入 30 50 01010101001011001001010110010110100100001000101010 00001000100000101010010000100000001001 ...

  3. FirstWebApp

    servlet规范中定义了web应用程序的目录层次:http://localhost:8080/docs/appdev/deployment.html 第一个web应用程序 开发,并部署到tomcat ...

  4. EF多个上下文迁移

    步骤: 1. Enable-Migrations 2. add-migration Initial -ConfigurationTypeName ModelOneDbConfig 3. update- ...

  5. java并发编程原理

    一.java内存模型 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样底层细节.此处的变量与Java编程时所说的变量不一样,指包括了实例字段 ...

  6. lspci命令详解

    基础命令学习目录首页 最近经常用到 lspci -nn | grep Eth 命令,需要学习下PCI总线,找到一篇文章,虽然也是转载,但写的较清晰,再次转载下. http://blog.csdn.ne ...

  7. linux命令系列 stat & touch

    1. stat - display file or file system status stat命令主要用于显示文件或文件系统的状态,详细信息 事实上,stat命令显示的是文件的I节点信息.Linu ...

  8. 为什么每次进入命令都要重新source /etc/profile 才能生效?

    https://segmentfault.com/q/1010000005981201

  9. Beta冲刺第二周王者荣耀交流协会第五次会议

    1.立会照片 成员:王超,高远博,冉华,王磊,王玉玲,任思佳,袁玥全部到齐. master:王磊 2.时间跨度: 2017年11月21日 15:00 — 15:17,总计17分钟. 3.地点: 一食堂 ...

  10. 20135231 JAVA实验报告三:敏捷开发与XP实践

    ---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...