Butter Knife 配置和使用及插件
【摘要】
目前最新的版本是8.4.0的
官网:http://jakewharton.github.io/butterknife/
GitHub:https://github.com/JakeWharton/butterknife
配置:
1.在app下的build.gradle中添加apply和compile
apply plugi...
目前最新的版本是8.4.0的
官网:http://jakewharton.github.io/butterknife/
GitHub:https://github.com/JakeWharton/butterknife
配置:
1.在app下的build.gradle中添加apply和compile
-
apply plugin: 'com.android.application'
-
<strong>apply plugin: 'com.neenbedankt.android-apt'
-
apply plugin: 'com.jakewharton.butterknife'</strong>
-
-
android {
-
compileSdkVersion 24
-
buildToolsVersion "24.0.3"
-
-
aaptOptions {
-
cruncherEnabled = false
-
useNewCruncher = false
-
}
-
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:24.2.1'
-
testCompile 'junit:junit:4.12'
-
-
<strong>compile 'com.jakewharton:butterknife:8.4.0'
-
apt 'com.jakewharton:butterknife-compiler:8.4.0'</strong>
-
-
}
2.在project下的build.gradle中添加classpath
-
buildscript {
-
repositories {
-
jcenter()
-
}
-
dependencies {
-
classpath 'com.android.tools.build:gradle:2.2.0'
-
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
-
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
-
-
// NOTE: Do not place your application dependencies here; they belong
-
// in the individual module build.gradle files
-
}
-
}
-
-
allprojects {
-
repositories {
-
jcenter()
-
}
-
}
-
-
task clean(type: Delete) {
-
delete rootProject.buildDir
-
}
3.在Activity中配置并使用
-
class ExampleActivity extends Activity {
-
@BindView(R.id.title) TextView title
-
@BindView(R.id.subtitle) TextView subtitle;
-
@BindView(R.id.footer) TextView footer;
-
-
@Override public void onCreate(Bundle savedInstanceState) {
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.simple_activity);
-
ButterKnife.bind(this);
-
// TODO Use fields...
-
}
-
}
4.绑定Button,参数可选
-
<span style="font-size:12px;">@OnClick(R.id.submit)
-
public void submit(View view) {
-
// TODO submit data to server...
-
}</span>
-
@OnClick(R.id.submit)
-
public void submit() {
-
// TODO submit data to server...
-
5.绑定ViewHolder
-
static class ViewHolder {
-
@BindView(R.id.title) TextView name;
-
@BindView(R.id.job_title) TextView jobTitle;
-
-
public ViewHolder(View view) {
-
ButterKnife.bind(this, view);
-
}
-
}
6.绑定资源
-
class ExampleActivity extends Activity {
-
@BindString(R.string.title) String title;
-
@BindDrawable(R.drawable.graphic) Drawable graphic;
-
@BindColor(R.color.red) int red; // int or ColorStateList field
-
@BindDimen(R.dimen.spacer) Float spacer; // int (for pixel size) or float (for exact value) field
-
// ...
-
}
7.代码混淆
-
-keep class butterknife.** { *; }
-
-dontwarn butterknife.internal.**
-
-keep class **$$ViewBinder { *; }
-
-
-keepclasseswithmembernames class * {
-
@butterknife.* <fields>;
-
}
-
-
-keepclasseswithmembernames class * {
-
@butterknife.* <methods>;
-
}
8.插件Zelezny
可视化快速生产view
安装Preferences → Plugins → Browse repositories and search for ButterKnife Zelezny
或Preferences → Plugins → Install plugin from disk
GitHub地址:https://github.com/avast/android-butterknife-zelezny
使用(图是官网的):
鼠标放在布局上右键——>Generate——Generate ButterKnife Injections
文章来源: blog.csdn.net,作者:yechaoa,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/yechaoa/article/details/52963196
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)