Android快速开发库之injector_tools

一、简介

injector_tools是Android开发中的快速绑定View的工具,使用注解绑定指定的View或方法,通过编译时生成相应代码和方法,以此可大大减少平常开发当中的工作量。

二、使用

1.引入库

首先在Project的Gradle中引入
classpath 'org.liang.plugin:injector_tools:1.0.5'
然后在需要接入此库的module的Gradle中引入插件
apply plugin: 'com.liang.inject'

2. 绑定View:@BindView(id)

1.在application中绑定
Java代码
@BindView(R.id.button)
Button button;

@BindView(R.id.imageView)
ImageView imageView;

@BindView(R.id.textView)
TextView textView;
Kotlin代码
@BindView(R.id.button)
lateinit var button: Button

@BindView(R.id.imageView)
lateinit var imageView: ImageView

@BindView(R.id.textView)
lateinit var textView: TextView
2.在library中绑定
注:在library中由于R文件中的Id不是常量,所以通过gradle编译时生产了对应的R2文件,使用时用R2代替R即可
Java代码
@BindView(R2.id.button)
Button button;
Kotlin代码
@BindView(R2.id.button)
lateinit var button: Button

3.绑定View的监听方法

目前只支持以下常用的方法:
@OnClick、@OnLongClick、@OnCheckedChanged、@OnTextChanged、@OnEditorAction
举个栗子:
以前这样写
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    }
});

imageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    }
});

textView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    }
});

...
现在这样写
@OnClick({R.id.button, R.id.imageView,R.id.textView,...})
public void test(View view) {
   Log.e("TestActivity", "view: " + view.getId());
   ...
}
注:方法参数除了第一个为View时可以省略以外,其余的参数必须对应其监听方法的回调参数

你可能感兴趣的:(Android快速开发库之injector_tools)