ButterKnife 基本使用

导语

在Android的日常开发中,最烦的应该是写一大堆的findViewById()了,偏偏这个还不得不写。总想让工具来解放我们的双手,能有多懒就尽量有多懒,最好能实现人脑和电脑之间通过脑电波传输,然后啪啪啪代码就写好了(或许若干年之后可以实现吧)。有一位叫Jake Wharton打大神就带领我们迈进了一步,再也不用写findViewById()了(666666)。Jake Wharton大神整出了一个叫ButterKnife的框架,有了它妈妈再也不用担心我会加班了(小朱,明天要给软件,今晚加班把那些bug解了。尼玛…..)

基本使用

大神扔给你个框架,最先要学会的是什么?明白框架的实现原理?大神会考虑到你们凡人的智商的,“这有个demo,看看怎么用吧”然后就腾云驾雾走了。把大象装进冰箱分几步?同学你太机智了,对,分三步。那ButterKnife使用分几步?两步就够了。

  • 配置编译环境
    干我们这一行,总离不开一件事:陪环境,从你进公司的第一天开始,你就开始干这事了。ButterKnife的使用也要先配置好编译环境,首先你得在你的project下的build.gradle文件中增加
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8

    然后在你的module下的build.gradle文件中增加
    apply plugin: 'android-apt

    module下的build.gradle文件中的dependence增加

    compile 'com.jakewharton:butterknife:8.2.1'  
    apt 'com.jakewharton:butterknife-compiler:8.2.1'
  • 开始使用
    现在开始上酸菜了(哦,不好意思,是demo),简单的demo,布局文件中有两个元素:

    <Button
        android:id="@+id/btn_test"
        android:layout_below="@id/recyclerview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/test"/>
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_info"
        android:layout_below="@id/btn_test"
        android:textSize="28sp"/>

    在“setContentView(R.layout.activity_mani);”语句后面加上
    ButterKnife.bind(this);

    接下来就是一键完成变量声明以及findViewById()的操作了,在onCreate()方法中选中布局文件,右键Generate

    然后Generate ButterKnife Injections

    再然后你就看到了一段神奇的代码自动生成了,

    @BindString(R.string.test)
    String testInfo;
    @BindView(R.id.btn_test)
    Button btnTest;

    想给Button设置点击事件怎么办,so esay!!

    @OnClick(R.id.btn_test)
    void setInfo(){
        tvInfo.setText(testInfo);
    }
    

    testInfo是哪里来的,好吧,实际上它是在string.xml文件中定义的一个字符串,那是怎么来的呢?太他妈简单了!!!

    @BindString(R.string.test)
    String testInfo;
    
    //test在String.xml中的定义
    <string name="test">Test</string>

    这是不是少些太多代码了啊….好开心啊

结束

ButterKnife的基本使用就举这么一个例子了,是不是它只能干这些呢?too young,too simple!!!那还有哪些用法?我不告诉你,自己先膜拜大神去吧,我要改bug去了(其实是我用得少,hahaha….滑板鞋,走你……)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值