android开发利器之BufferKnife的介绍和使用

介绍

  • butter knife是出自JakeWharton的一个开源库,它通过注解的方式来替代android中view的相关操作。减少大量的findViewById以及setOnClickListener代码,且对性能的影响较小.

  • ButterKnife项目地址:https://github.com/JakeWharton/butterknife

  • ButterKnife的优势:
    1、强大的View绑定和Click事件处理功能,简化代码,提升开发效率
    2、方便的处理Adapter里的ViewHolder绑定问题
    3、运行时不会影响APP效率,使用配置方便
    4、代码清晰,可读性强

  • 提示:

  • Butter Knife有多个版本,不同版本的初始化方法都不一样,且@Bind注解控件的后缀名也不同

使用

导包

android {
  ...
  // Butterknife requires Java 8.
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

dependencies {
  implementation 'com.jakewharton:butterknife:10.2.1'
  annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
}

插件安装

android studio 插件安装
在Plugins 里搜 ButterKnife Zelezny ,下载后,重启软件.

使用

在布局文件上
setContentView(R.layout.activity_buffer_knife)
加粗的斜体字体上,点击右键. -> 选择generate ->找到Buffer选项.
会弹出如下的对话框.
在这里插入图片描述
如果需要点击事件,记得给OnClick打上对勾即可.

activity中的样式:

public class BufferKnifeActivity extends AppCompatActivity {

    @BindView(R.id.title)
    TextView title;
    @BindView(R.id.btn)
    Button btn;
    @BindView(R.id.btn1)
    Button btn1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_buffer_knife);
        ButterKnife.bind(this);
    }


    @OnClick(R.id.btn)
    public void onViewClicked() {

    }


}

fragment中使用

public class BufferKnifeFragment extends Fragment {


    @BindView(R.id.title)
    TextView title;
    @BindView(R.id.btn)
    Button btn;

    Unbinder unbinder;

    public BufferKnifeFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View inflate = inflater.inflate(R.layout.fragment_buffer_knife, container, false);
        unbinder = ButterKnife.bind(this, inflate);
        return inflate;
    }

    @OnClick(R.id.btn)
    public void onViewClicked() {
        
    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        unbinder.unbind();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

馮贰爺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值