资讯专栏INFORMATION COLUMN

ButterKnife使用详解

NusterCache / 3414人阅读

摘要:以前的话经常使用来绑定布局中,这样写不仅麻烦而且还没有什么效率,今天推荐一款由大神写的框架用来绑定。使用方法绑定首先将注入这行代码要在之后执行。最近我会写很多关于常用控件的使用,里面都是一些很有用的知识,如果你感觉有用,请给我一个谢谢。

以前的话经常使用findViewById()来绑定布局中ID,这样写不仅麻烦而且还没有什么效率,今天推荐一款由JakeWharton大神写的框架Butterknife用来绑定ID。

导入依赖

既然是是一个第三方的开发库,让先让我们把导入项目中:
Module的build.gradle文件中:

apply plugin: "com.jakewharton.butterknife"
dependencies {
 compile "com.jakewharton:butterknife:8.6.0"
 annotationProcessor "com.jakewharton:butterknife-compiler:8.6.0"
}

Project的build.gradle文件中:

buildscript {
  repositories {
    mavenCentral()
   }
  dependencies {
    classpath "com.jakewharton:butterknife-gradle-plugin:8.6.0"
  }
}

这里需要特殊说明一下,如果按照官方网站上面的方式导入的话,会报这个错误(需要升级你的Gradle插件):
To use the DSL implementation() you have to use:
所以只用按照我上面的方式导入即可。

使用方法

绑定View

@BindView(R.id.tv_butter)
    TextView tv_butter;
    @BindView(R.id.et_butter)
    EditText et_butter;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_butter);
        //首先将ButterKnife注入,这行代码要在setContentView()之后执行。
        ButterKnife.bind(this);
        tv_butter.setText("绑定TextView");
        et_butter.setText("绑定EditText");
    }

绑定事件

@OnClick(R.id.btn_butter)
    public void onBtnClick(View view) {
        Toast.makeText(this, "btn_butter被点击了", Toast.LENGTH_SHORT).show();
    }

绑定资源

 @BindString(R.string.app_name)
    String app_name;
 @BindColor(R.color.colorAccent)
    int colorAccent;

还有很多各种场景下的绑定,其实套路都一样,这里主要举例三个应用场景。

Zelezny插件

如果你像我一样懒的连这些代码都不想写的话,下面推荐一款Zelezny插件(Android Studio),这个插件会自动在布局中查找控件的id,然后直接绑定,你说爽不爽。

安装插件

使用插件

在代码中双击选中布局

//通过插件生成的代码
    @BindView(R.id.tv_butter)
    TextView tvButter;
    @BindView(R.id.et_butter)
    EditText etButter;
    @BindView(R.id.btn_butter)
    Button btnButter;
OK,接下来就让我们愉快的使用这个第三方插件吧。

最近我会写很多关于Android常用控件的使用,里面都是一些很有用的知识,如果你感觉有用,请给我一个star,谢谢。实例代码

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/14637.html

相关文章

  • Android常用之Butterknife使用详解

    摘要:简介中文又名黄油刀是大神开源的一款视图的字段和方法绑定快速注解框架也是开发中比较常用的一款快速注解框架了可以不用不断的重复在各种场合下快速绑定的多种事件大大提高了开发的效率为什么开发用强大的绑定和事件处理功能,简化代码,提升开发效率方便的处 Butterknife简介 Butterknife中文又名黄油刀,是 JakeWharton大神开源的一款Android视图的字段和方法绑定快速注...

    wangzy2019 评论0 收藏0
  • android最佳实践(二)

    摘要:特别注意的是在中并不适用,你需要使用可能你会问了,是不是利用反射,那样将会导致性能问题。 这是一个系列,我们将其命名为android最佳实践,如果你还没有看之前的文章: Android最佳实践(一) android最佳实践(三) android最佳实践(四) android最佳实践(五) Android最佳实践(六)之扫描二维码模块 关于项目 博文会根据项目的进度进行相关介绍,其会分为...

    Null 评论0 收藏0
  • Android开源架构

    摘要:音乐团队分享数据绑定运行机制分析一个项目搞定所有主流架构单元测试一个项目搞定所有主流架构系列的第二个项目。代码开源,展示了的用法,以及如何使用进行测试,还有用框架对的进行单元测试。 Android 常用三方框架的学习 Android 常用三方框架的学习 likfe/eventbus3-intellij-plugin AS 最新可用 eventbus3 插件,欢迎品尝 简单的 MVP 模...

    hzc 评论0 收藏0
  • Android开源架构

    摘要:音乐团队分享数据绑定运行机制分析一个项目搞定所有主流架构单元测试一个项目搞定所有主流架构系列的第二个项目。代码开源,展示了的用法,以及如何使用进行测试,还有用框架对的进行单元测试。 Android 常用三方框架的学习 Android 常用三方框架的学习 likfe/eventbus3-intellij-plugin AS 最新可用 eventbus3 插件,欢迎品尝 简单的 MVP 模...

    sutaking 评论0 收藏0
  • Android入门及效率开发

    摘要:响应式编程函数响应式编程中文文档依赖注入配套插件日志输出表达式的表达式插件开源项目汇总 入门 Android官方培训课程中文版:http://hukai.me/android-training-course-in-chinese/index.html Android设计指南非官方中文版:http://www.apkbus.com/design/index.html 对应google官方...

    Scott 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<