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) { } }
关于插件快速生成代码问题,本人不会开发android插件,学习成本有点高,也基本用不到自己开发插件,懒的去搞了,有兴趣的兄dei可以玩玩。
关于反射性能问题,其实没必要纠结,相对于线程,handler和图片加载所消耗的性能基本可以忽略了。