ButterKnife插件的安装与使用
来源:互联网 发布:知行理工忘记密码 编辑:程序博客网 时间:2024/06/06 03:05
1.ButterKnife插件的安装
插件名称:Android ButterKnife zelezny
首先打开设置界(command+逗号)——>Plugins——>
点击Browse Respositories——>搜索Android ButterKnife zelezny ——>点击安装,重启Android studio即可
ok,安装完毕啦!
2.ButterKnife的简介
ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码。
GitHub地址:https://github.com/JakeWharton/butterknife
3.ButterKnife的优势
- 代码清晰,可读性强。
- 简化Adapter中ViewHolder绑定。
- 运行时不会影响APP效率,使用配置方便。
- View绑定和Click事件处理功能,简化代码,提高开发效率。
4.ButterKnife添加依赖
dependencies {compile fileTree(include: ['*.jar'], dir: 'libs')androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {exclude group: 'com.android.support', module: 'support-annotations'})compile 'com.android.support:appcompat-v7:25.1.0'testCompile 'junit:junit:4.12'compile 'com.jakewharton:butterknife:8.4.0'annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'}
在app->build gradle中添加依赖
compile ‘com.jakewharton:butterknife:8.4.0’
annotationProcessor ‘com.jakewharton:butterknife-compiler:8.4.0’
在整个项目->build gradle中添加依赖
dependencies {classpath 'com.android.tools.build:gradle:2.2.3'classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'}
添加依赖
classpath ‘com.jakewharton:butterknife-gradle-plugin:8.4.0’
点击按钮:Sync Projects with Gradle Files重新编译即可
5.ButterKnife的使用
在Activity中
setContentView(R.layout.activity_main);Unbinder mBind = ButterKnife.bind(MainActivity.this);
@Override protected void onDestroy() { super.onDestroy(); mBind.unbind(); }
在Fragment中
View view = inflater.inflate(R.layout.fragment_main, container, false);Unbinder mBind = ButterKnife.bind(this, view);
@Override public void onDestroyView() { super.onDestroyView(); mBind.unbind(); }
使用快捷键:
选中布局文件,然后command+n,不说了,直接上图:
@BindView
@BindView(R.id.text1)TextView mText1;
mText1.setText(name);
@BindViews
@BindViews({R.id.text1,R.id.text2})List<TextView> mTextViews;
mTextViews.get(0).setText("测试一");mTextViews.get(1).setText("测试二");
@BindArray
@BindArray(R.array.student)String [] students;
res——>values——>arrays.xml
<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="student"> <item>小李</item> <item>小周</item> <item>小张</item> </string-array></resources>
for (int i = 0; i < students.length; i++){ mTextViews.get(1).setText(students[i]);}
@BindString
@BindString(R.string.app_name)String name;
mText1.setText(name);
@BindColor
@BindColor(R.color.textColor)int red;
mText2.setTextColor(red);
@BindBitmap
@BindBitmap(R.mipmap.my)Bitmap mBitmap;
mImg.setImageBitmap(mBitmap);
@OnClick
@OnClick(R.id.button1)public void method1(){startActivity(new Intent(MainActivity.this,ThiredActivity.class));}
@OnLongClick
@OnLongClick(R.id.button2)public boolean method2(){Toast.makeText(this, "按钮2被长按了", Toast.LENGTH_SHORT).show();return true;}
@OnItemClick
@BindView(R.id.list_person)ListView mListPerson;
@OnItemClick(R.id.list_person)public void onItemClick(int position) {Toast.makeText(this, list.get(position).getName() + "ListView的item被点击啦!", Toast.LENGTH_SHORT).show();}
@OnItemLongClick
@OnItemLongClick(R.id.list_person)public boolean onItemLongClick(View view, int position) {Toast.makeText(this, list.get(position).getName() + "被--长按--啦!", Toast.LENGTH_SHORT).show();return true;}
adapter中的ViewHolder
static class ViewHolder { @BindView(R.id.tv_name) TextView mTvName; ViewHolder(View view) { ButterKnife.bind(this, view); }}
6.源码下载
源码下载:https://github.com/zeke123/ButterKnifeDemo
0 0
- 安装ButterKnife插件与使用ButterKnife插件
- ButterKnife插件的安装与使用
- Android Studio中ButterKnife插件的安装与使用
- Android ButterKnife Zelezny插件的安装与使用
- Android Studio中ButterKnife插件的安装与使用
- Android Studio中ButterKnife插件的安装与使用
- Android ButterKnife Zelezny插件的安装与使用
- Android 注解 ButterKnife Zelezny插件的安装与使用
- Android ButterKnife Zelezny插件的安装与使用
- AS上butterknife插件安装与使用
- Andorid之注解插件Android ButterKnife Zelezny的安装与使用,插件ADBWIFI
- ButterKnife插件的使用
- ButterKnife插件的使用
- Android ButterKnife Zelezny插件的安装与使用(可视化一键生成)
- (自动注解)Android ButterKnife Zelezny插件的安装与使用
- Andriod Studio 生成@Bind即ButterKnife插件的安装与使用
- Android-butterKnife的使用及Zelezny插件的安装
- Android Studio ButterKnife 插件安装使用
- Spring中HandlerInterceptor源码
- JS控制复选框全部选中和全部不选中
- 第7章 sed、gawk介绍与正则表达式-----------(sed编辑器基础知识)
- spring事务传播属性和隔离级别
- JavaScipt相关
- ButterKnife插件的安装与使用
- 任务顺序执行的几种方式
- EtherCAT (Ethernet for Control Automation Technology)
- BZOJ 1005 [HNOI2008]明明的烦恼
- Android本地视频播放器开发搜索本地视频(2)
- 摩拜再融2.15亿美元,共享单车的终局会是什么?
- 隐马尔可夫模型(HMM)攻略
- Project Euler 12 找第一个有500个因数的数
- cookie,session,localstorage,sessionStorage