android高级框架xUtils之ViewUtils
2016-01-23 11:41
555 查看
xUtils简介:
xUtils 是一个工具类的集合体,其中包含许多实用的Android工具,主要包含四大模块:
1、 ViewUtils的模块
2、 HttpUtils的模块
3、 BitmapUtils的模块
4、 DBUtils的模块
xUitls最低兼容Android 2.2 (API 8)
导入xutils框架的方法:
方法一、下载地址: https://github.com/wyouflf/xUtils,目前的版本是2.6.14
xutils3目前还不太稳定,不建议使用
方法二、在as中直接引入
正式开始ViewUtils的使用
activity中Contentview的注解
activity中View控件的注解
activity中事件的注解
fragment中的使用:
BaseAdapter中的使用
xUtils 是一个工具类的集合体,其中包含许多实用的Android工具,主要包含四大模块:
1、 ViewUtils的模块
2、 HttpUtils的模块
3、 BitmapUtils的模块
4、 DBUtils的模块
xUitls最低兼容Android 2.2 (API 8)
导入xutils框架的方法:
方法一、下载地址: https://github.com/wyouflf/xUtils,目前的版本是2.6.14
xutils3目前还不太稳定,不建议使用
方法二、在as中直接引入
正式开始ViewUtils的使用
Android中的ioc框架,完全注解方式就可以进行UI、资源和事件注入绑定
控制反转(Inversion of Control,英文缩写为 IoC):创建被调用者的工作不再由调用者来完成,因此称为控制反转。
使用注解和反射来实现控制反转(注入)
调用ViewUtils.inject(this),此方法中会利用反射遍历类中所有注解,对注解的功能一一实现
activity中Contentview的注解
@ContentView(value = R.layout.activity_main)
activity中View控件的注解
@ViewInject(R.id.btTest) private Button mBtnTest;
activity中事件的注解
@OnClick(R.id.btTest)//点击事件只需要注入按钮的id public void onClick(View view){ Toast.makeText(this,"onClick",Toast.LENGTH_SHORT).show(); }
fragment中的使用:
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ // 加载布局 View view = inflater.inflate(R.layout.db_fragment, container, false); /** 依赖注入, *第一个是用来反射获取注解, *第二个参数用来findviewbyid */ ViewUtils.inject(this, view); return view; } @ViewInject(R.id.db_test_btn) private Button stopBtn; @ViewInject(R.id.result_txt) private TextView resultText; @OnClick(R.id.db_test_btn) public void testDb(View view) { }
BaseAdapter中的使用
protected class ViewHolder { @ViewInject(R.id.tvItem) public TextView tvItem; }
注入的时候需要传2个参数,第一个是注解所在的类,为了获取注解,第二个是父view,为了调用findviewbyid得到注解所标记的view
@Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = layoutInflater.inflate(R.layout.layout_listitem, null); ViewHolder viewHolder = new ViewHolder(); //viewHolder.tvItem = (TextView) convertView.findViewById(R.id.tvItem); ViewUtils.inject(viewHolder,convertView); convertView.setTag(viewHolder); } initializeViews((T)getItem(position), (ViewHolder) convertView.getTag()); return convertView; } //listview的条目被点击 @OnItemClick(R.id.lvTest) public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(this,"onItemClick",Toast.LENGTH_SHORT).show(); }
相关文章推荐
- android gridview布局,实现长按某一个,所有项都显示删除的图标
- Android 用Canvas 画几何图形,画出小黄人
- Android AnalogClock简单使用方法实例
- Android ViewFlipper用法实例分析
- Android的用户界面基础之View的学习
- 聊一聊Android 6.0的运行时权限
- Android基本概念总结
- Android用户界面基础之TextView控件,EditText控件,Button控件的学习
- Android使用系统签名以及安装
- Android用户界面基础之Chronometer控件学习
- android 常用工具库 备份
- 获取工程路径
- android studio .9图片报错
- Android RecyclerView 使用完全解析 体验艺术般的控件
- Android Handler 异步调用修改界面与主线程
- Android应用安全之外部动态加载DEX文件风险
- android高级之图片二次采样
- ListView-Arrayadapter
- android ImageView点击时背景图修改(简单方法)
- Android布局