自定义Butternife(底层原理)

ButterKnife是一个Android视图注入框架,由JakeWharton创建,它通过注解简化了视图查找和事件处理。使用ButterKnife不会对性能产生显著影响,因为它在编译时生成新的类。集成简单,使用方便,包括定义注解、处理点击事件和查找ID的方法。
摘要由CSDN通过智能技术生成

ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。是大神JakeWharton的力作,目前使用很广。最重要的一点,使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。项目集成起来也是特别方便,使用起来也是特别简单。

第一步写一个Annotation定义我们需要去@出来的方法

在这里插入图片描述
写点击事件 和 查找ID的@

@Retention(RetentionPolicy.RUNTIME)//运行时加载 节省资源
@Target(ElementType.FIELD)//变量
public @interface InjectView {
   
    int ID();
}
@Retention(RetentionPolicy.RUNTIME) // 运行时加载 节省资源
@Target(ElementType.METHOD)//方法
public @interface OnClick {
   
    int value();//传递要点击的布局id
}

activity页面重写两个方法去写出底层代码实现逻辑完成查找ID 及 点击事件

public class ViewUtils {
   

    public static void bind(Activity activity){
   
        bindFeild(activity);//查找ID
        bindOnClick
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值