欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android IOC注解库EasyUI

程序员文章站 2022-06-24 15:27:17
EasyUI介绍 1.使用反射机制和注解实现类似于butterknife的IOC框架 2.快速的findViewById和OnClick 3.扩展了click时无网络监测 4.扩展了快速点击监测 使用方法 1.引用 2.初始化(可选) 该步骤主要配置无网络时Toast提示文字内容和判定快读点击时间间 ......

EasyUI介绍

1.使用反射机制和注解实现类似于butterknife的IOC框架
2.快速的findViewById和OnClick
3.扩展了click时无网络监测
4.扩展了快速点击监测

使用方法

1.引用

compile 'cn.cyq.android:easyuilibrary:1.1.0'

2.初始化(可选)

该步骤主要配置无网络时Toast提示文字内容和判定快读点击时间间隔
Toast默认:无网络,请检查网络设置,快速点击默认1000ms

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        EasyUI.init(500, "亲,你的网络不太给力呦!");
    }
}

3.使用(activity fragment 自定义view)

  • Activity用法
public class MainActivity extends AppCompatActivity {
    @ViewById(R.id.tv_test)
    private TextView mTvTest;
    @ViewById(R.id.btn_test)
    private Button mBtnTest;
    @ViewById(R.id.img_test)
    private ImageView mImgTest;

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

    @OnClick({R.id.btn_test, R.id.img_test})
    @CheckNet //无网络则不执行onclick
    @QuickClick //1秒内点击不执行onclick
    public void onclick(View view) {
    }
}
  • fragment使用
public class BlankFragment extends Fragment {
    View view;
    @ViewById(R.id.tv_fragment)
    private TextView mTv;
    @ViewById(R.id.btn_fragment)
    private Button mBtn;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_blank, container, false);
        EasyUI.bind(view, this);
        return view;
    }

    @OnClick(R.id.btn_fragment)
    public void onClick(View view) {
    }
}

  1. 关于插件快速生成代码问题,本人不会开发android插件,学习成本有点高,也基本用不到自己开发插件,懒的去搞了,有兴趣的兄dei可以玩玩。

  2. 关于反射性能问题,其实没必要纠结,相对于线程,handler和图片加载所消耗的性能基本可以忽略了。