AndroidStudio中ButterKnife 的配置和使用方法
程序员文章站
2023-03-28 09:15:05
1、 配置butterknife
在项目目录下找到build.gradle配置文件,添加内容如下
// top-level build
file where you can add conf...
1、 配置butterknife
在项目目录下找到build.gradle配置文件,添加内容如下
// top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' // note: do not place your application dependencies here; they belong // in the inpidual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: delete) { delete rootproject.builddir }
app目录下中找到build.gradle配置文件(和上边的配置文件不是一个文件),在其中添加如下内容
dependencies { compile filetree(dir: 'libs', include: ['*.jar']) androidtestcompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.jakewharton:butterknife:8.6.0' apt 'com.jakewharton:butterknife-compiler:8.6.0' compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' testcompile 'junit:junit:4.12' }
然后sync now同步一下就配置好了。
2、添加butterknife插件
找到 file -> setting -> plugins,在搜索框中输入“android butterknife zelezny”,安装该插件后重启android studio。
3、代码中使用butterknife
在oncreate中初始化butterknife,然后在需要绑定的成员变量上通过bindview注解就可以绑定控件的id,之后就可以直接使用该变量操作对应的控件了。(注意:这里在定义变量是不要定义成private或static类型,否则会报错)
public class splashactivity extends appcompatactivity { @bindview(r.id.tv_splash_title) textview tvsplashtitle; @bindview(r.id.btn_splash_click) button btnsplashclick; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_splash); butterknife.bind(this); //这里一定要在setcontentview后添加 tvsplashtitle.settext("该控件已经绑定"); } }
除了可以以view的形式绑定对应的控件,也可以通过其他标签绑定。
4、各种标签
绑定view
@bindview(r.id.tv_splash_title) textview tvsplashtitle;
绑定事件(各种事件类型,这里只列举了三个)
@onclick(r.id.btn_splash_click) public void btnclick() { toast.maketext(this, "点击事件", toast.length_short).show(); }
@onlongclick(r.id.btn_splash_click) public boolean btnlongclick() { toast.maketext(this, "长按事件", toast.length_short).show(); return true; } @bindarray(r.array.str1) string[] strings;
@onclick({r.id.btn1, r.id.btn2, r.id.btn3}) //绑定多个控件的事件 public void onviewclicked(view view) { switch (view.getid()) { case r.id.btn1: toast.maketext(this, "我是点击事件1", toast.length_short).show(); break; case r.id.btn2: toast.maketext(this, "我是点击事件2", toast.length_short).show(); break; case r.id.btn3: toast.maketext(this, "我是点击事件3", toast.length_short).show(); break; } }
绑定资源(各种资源类型等)
@bindstring(r.string.app_name) string app_name;
@bindarray(r.array.str1) string[] strings;
@bindbitmap(r.mipmap.ic_launcher) bitmap bitmap;
@bindcolor(r.color.coloraccent) int color;
推荐阅读
-
sql中varchar和nvarchar的区别与使用方法
-
解析iOS应用的UI开发中懒加载和xib的简单使用方法
-
mantis安装、配置和使用中的问题小结
-
Ubuntu 16.04中Docker的安装和代理配置教程
-
无法在com+ 目录中安装和配置程序集 错误:-2146233087的解决方法[已测]
-
smarty模板引擎中内建函数if、elseif和else的使用方法
-
Python中property属性的概论和使用方法
-
解析Nginx中的日志模块及日志基本的初始化和过滤配置
-
Windows 2016 & Windows 10 中IIS安装和配置PHP的步骤
-
Android studio Kotlin中配置GRPC和protobuf时出现的一些问题总结