ButterKnife注入注解框架用法
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注入注解框架用法的更多相关文章
- Android ButterKnife注解框架使用
这段时间学习了下ButterKnife注解框架,学习的不是特别深入,但是基础也差不多了,在此记录总结一下. ButterKnife是一个Android View注入的库,主要是注解的使用,可以减少很多 ...
- Android注解框架实战-ButterKnife
文章大纲 Android注解框架介绍 ButterKnife实战 项目源码下载 一.框架介绍 为什么要用注解框架? 在Android开发过程中,我们经常性地需要操作组件,操作方法有findVie ...
- ButterKnife注解框架详解
Android 懒人注解框架 :https://github.com/JakeWharton/butterknife 前言: 注解,相信很多同学都用到了,对控件进行初始化的时候需要用到 findVie ...
- java注解框架
我们经常会在java代码里面看到:“@Override”,“@Target”等等样子的东西,这些是什么? 在java里面它们是“注解”. 下面是百度百科的解释:java.lang.annotation ...
- 注解框架---AndroidAnnotations
AndroidAnnotations是一个开源框架,旨在加快Android开发的效率.通过使用它开放出来的注解api,你差点儿可以使用在不论什么地方, 大大的降低了无关痛痒的代码量,让开发人员可以抽身 ...
- Android 注解框架对比
Java的注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,标记可以加在包,类,属性,方法,本地变量上.然后你可以写一个注解处理器去解析处理这些注解(人称编译时注解 ...
- PHP依赖注入原理与用法分析
https://www.jb51.net/article/146025.htm 本文实例讲述了PHP依赖注入原理与用法.分享给大家供大家参考,具体如下: 引言 依然是来自到喜啦的一道面试题,你知道什么 ...
- 自己来实现一套IOC注解框架
我们自己来实现一套IOC注解框架吧,采用的方式反射加注解和Xutils类似,但我们尽量不写那么麻烦,也不打算采用动态代理,我们扩展一个检测网络的注解,比如没网的时候我们不去执行方法而是给予没有网络的提 ...
- 开发自己的山寨Android注解框架
目录 开发自己的山寨Android注解框架 开发自己的山寨Android注解框架 参考 Github黄油刀 Overview 在上一章我们学习了Java的注解(Annotation),但是我想大家可能 ...
随机推荐
- 【坚持】Selenium+Python学习记录 DAY10
2018/05/31-2018/06/1 [官方文档](https://www.jetbrains.com/help/pycharm/set-up-a-git-repository.html) 通过p ...
- TFS任务预览
不太熟悉TFS任务项的建立. 初步建立及按老师要求分配到个人的任务设置与时间安排如下: (长时间任务可由多人合作完成,具体根据情况迅速调整任务分配) 加上每人需要进行阅读前一小组的代码需要时间2*8= ...
- Daily Scrum (2015/10/23)
这天晚上PM和我一起细算下来这周的确做了不少事儿.由于这天是周五,有的组员今晚有外出活动,有的组员忙了一周想休息一下.所以PM与我讨论提出今晚就布置些阅读的任务,给组员们一些自由分配的时间: 成员 今 ...
- 学校网站UI设计分析
在一个团队中PM,要更好的掌握项目的实施管理,包括对UI的设计,作为团队项目的PM,在听了老师课上的讲解后,对UI有了新的认识,对此,我对下面网站有了些自己的想法(只可意会不可言传,O(∩_∩)O~) ...
- java-switch语句
switch语句是常用的java循环判断语句,但是有的知识点并不一定清楚. 首先是switch语句括号中的判断条件,判断条件只能是整型或者字符和整型或者字符组成的表达式. 再就是case语句,可以称之 ...
- Git的基本使用方法和安装&心得体会(使用git命令行)
这是补发的,使用命令行操作的. (1)选择本地repository的路径 找到后点鼠标右键,选择git bash here. (2) clone到本地 在命令行输入 git clone ADDRESS ...
- 作业1.3——Android平台的开发环境的发展演变
一开始的打算是在eclipse的基础上搭建Android平台,在ADT.SDK上兜兜转转,听过一些前车之鉴后,还是选择了Android studio.因为之前安装过eclipse,就省去了JDK下载和 ...
- mysql密码忘记解决方案
方法:在忘记root密码的时候,可以这样 以windows为例: 1. 关闭正在运行的MySQL服务. 2. 打开DOS窗口,转到mysql\bin目录. 3. 输入mysqld --skip-gra ...
- 6/11 sprint2 看板和燃尽图的更新
- PHP-时间函数
1.时间格式化函数date(format,timestamp) format 时间格式 timestamp 时间戳 下面列出了一些常用于日期的字符: d - 表示月里的某天(01-31) m - 表示 ...