Briefness



数据绑定、布局绑定、控件绑定、事件绑定、数据异常预处理、开发更加简单。

特点

属性 功能 控件
imports 引入需要绑定的类 root view
viewModel 引入Viewmodel root view
bind 绑定数据 view
click 点击监听 view
longClick 长按监听 view
textChanged 文本变化监听 TextView
checkChanged 选择变化监听 CheckBox
tabSelected 选择变化监听 TabLayout
tabUnselected 选择变化监听 TabLayout
pageSelected 选择变化监听 ViewPager
progressChanged 进度变化监听 SeekBar
radioChanged 选择变化监听 RadioButton
注解 功能
BindLayout 绑定布局,并解析布局文件
BindView 绑定控件
BindClick 绑定事件
Immersive 沉浸式

比较

注解控件 注解方法 注解布局 数据绑定 任意绑定 事件传递 学习成本
Briefness 支持 支持 支持 支持 支持 支持
Databinding 不支持 不支持 不支持 支持 不支持 支持
ButterKnife 支持 支持 不支持 不支持 不支持 不支持
XUtil 支持 支持 不支持 不支持 不支持 不支持

使用说明

  1. 在使用Briefness提供的功能之前,必须调用Briefness.bind方法,该方法会返回Briefenssor的一个实现类。

  2. 在绑定和引入类中,如果你需要绑定多个数据,或者引入多个类,请使用“|”符号隔开。

  3. "$"符号必须是成对使用的,使用"$"引起来的变量表示是需要变换的。

  4. 注解使用说明

  5. XML属性标签使用说明

  6. MVVM的使用与框架搭建

    快速引入项目

    合并以下代码到需要使用的Module的dependencies中。

    dependencies {
                ...
              implementation 'com.hacknife.briefness:briefness:2.3.1'
              annotationProcessor 'com.hacknife.briefness:briefness-compiler:2.3.1'
    }

    混淆

    -keep class * implements com.hacknife.briefness.Briefnessor{*;}
    -keep @com.hacknife.briefness.BindLayout class *
    -keep public interface com.hacknife.briefness.Briefnessor{public *;}
    -keep class **.BriefnessInjector {
    *;
    }
    -keep class **.ViewInjector {
     *;
    }




    感谢浏览

    请不要吝啬你的小星星,如果你有任何疑问,请加入QQ群,我将竭诚为你解答。
    Image Text