当前位置:   article > 正文

AndroidStudio3.5 ButterKnife10.2.0配置与使用_com.jakewharton:butterknife:10.2.0

com.jakewharton:butterknife:10.2.0

前言

介绍:Android开发 View注入 IOC框架

优点:

  1. 使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。

  2. 简化View绑定、Click事件处理功能、Adapter的ViewHolder绑定。

  3. 代码可读性强

Githubhttps://github.com/JakeWharton/butterknife

Doc:http://jakewharton.github.io/butterknife/

MyDocRepo(私人仓库备份):https://yankeyon.gitee.io/Doc/Butter%20Knife.htm

配置

AndroidStudio版本:v3.5

appSdk版本配置信息:

  1. compileSdkVersion 28
  2. defaultConfig {
  3.    applicationId "com.keyon.myhandler"
  4.    minSdkVersion 24
  5.    targetSdkVersion 28
  6.    versionCode 1
  7.    versionName "1.0"
  8.    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  9. }
  1. 安装AS ButterKnife插件,提高开发效率。(安装后需重启IDE)

  2. 项目引入jar包

    1. android {
    2. ...
    3. // Butterknife requires Java 8.
    4. compileOptions {
    5. sourceCompatibility JavaVersion.VERSION_1_8
    6. targetCompatibility JavaVersion.VERSION_1_8
    7. }
    8. }
    9. dependencies {
    10. implementation 'com.jakewharton:butterknife:10.2.0'
    11. annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0'
    12. }

     

  3. add the plugin to your buildscript

    1. buildscript {
    2. repositories {
    3. mavenCentral()
    4. google()
    5. }
    6. dependencies {
    7. classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.0'
    8. }
    9. }

     

  4. apply it in your module

    apply plugin: 'com.jakewharton.butterknife'

     

使用

 

  1. 右键布局文件 -> Generate...(Alt+Insert)

  2. OnClick为是否生成点击事件函数,点击Confirm确认生成。

  3. 生成代码

    1. @BindView(R.id.tv_item_content)
    2. TextView tvItemContent;
    3. @BindView(R.id.btn_show_menu)
    4. Button btnShowMenu;
    5. @Override
    6. protected void onCreate(@Nullable Bundle savedInstanceState) {
    7. super.onCreate(savedInstanceState);
    8. setContentView(R.layout.activity_main);
    9. ButterKnife.bind(this);
    10. }
    11. @OnClick(R.id.btn_show_menu)
    12. public void onViewClicked() {
    13. }

     

其他

除了View绑定注解与事件点击注解外,还有其他注解。

@BindArray 绑定string里面array数组;@BindArray(R.array.city ) String[] citys ;

@BindBitmap 绑定图片资源为Bitmap;@BindBitmap( R.mipmap.wifi ) Bitmap bitmap;

@BindString 绑定一个String id为一个String变量;@BindString( R.string.app_name ) String meg;

@BindColor 绑定color;@BindColor(R.color.colorAccent) int black;

@BindDimen 绑定Dimen;@BindDimen(R.dimen.borth_width) int mBorderWidth;

@BindDrawable 绑定Drawable;@BindDrawable(R.drawable.test_pic) Drawable mTestPic;

@BindFloat 绑定float

@BindInt 绑定int

@BindBool 绑定boolean值

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/529670
推荐阅读
相关标签
  

闽ICP备14008679号