ViewUtils for com.lidroid.xutils
来源:互联网 发布:淘宝 日语 编辑:程序博客网 时间:2024/05/17 09:29
* 目前移动APP的开发用户交互体验放在首位。
android L 扁平化、动画式、简约而不简单的交互设计觉得体验很好。如今的APP终端 不论CPU、内存、
* 分辨率等硬件都搭载到不错的配置。所以使用xutils 框架就可以大量简化你在处理数据库数据,网络加载,网络通
信及布局设计响应方面所用的时间。这就意味着你可以把节省的这大量时间来思考整个APP的交互如果实现到 扁平 化、动画式、简约化的应用交互能力.
* com.lidroid.xutils.ViewUtils
是这个框架的一部份针对视图所有控件的初始化,及响应方案简洁化的工具类;主要以注解的方式实例化对象;
public class SingleMissionDetailActivity extends Activity {...}
* 等同于在oncreate中实行 this.setContentView(R.layout.single_mission_details);
* 类似这些
* 所有视图注入方式;
* @ViewInject(R.id.btn_app_download)
private Button btn_app_download;
@ViewInject(R.id.main_bar_title)
private TextView tvMainBarTitle;
@ViewInject(R.id.iv_app_mesage)
private ImageView iv_app_message;
@ViewInject(R.id.about_version_code)
private LinearLayout linearLayout;
* 等同于在oncreate中实行 iv_app_mesage = (ImageView) findViewById(R.id.iv_app_img);
* 注入完界面中所胡视图后,一定在oncreate 加上一句;
* ViewUtils.inject(this); ------inject (注入) 也就相当于初始化;
* 对象定义结束后,还有另外一大块就是所有视图控件带有的方法;
*
* btn_shared.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "do something.", Toast.LENGTH_SHORT).show();
}
});
*
* 转换为:
*
* @onclick(value={R.id.btn_shared,R.id.btn_cance,R.id.btn_submit})
* public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.btn_shared:
break;
case R.id.btn_cance:
break;
case R.id.btn_submit:
break;
}
}
});
*
* 类似的可以写出其它控件的监听方法;
* @OnLongClick、@OnTouch、@OnScroll
* 需要注意的是所有方法是通过反射机制先定义好的,所以不是在随便的一个方法内加上注解就可以实现监听方法,写出的方法一定要和视图控件原生方法相同;
* 另外在動態中加載顯示的控件的定義方式有所不同;如自定義顯示的對話框;
*
*
final AlertDialog dlg = new AlertDialog.Builder(this)
.create();
dlg.setCanceledOnTouchOutside(true);
dlg.show();
LayoutInflater mInflater = dlg.getLayoutInflater(); (layoutInflate (佈局填充類))
ImageItemHolder holder = null; (這里的imageItemHolder 爲爲所用到控件視圖實例化的內部類)
View view = mInflater.inflate(R.layout.headimg_dialog_mini,
null);
holder = new ImageItemHolder();
ViewUtils.inject(holder, view);
view.setTag(holder);
android.widget.LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);(params 參數)
dlg.addContentView(view, params);
holder.tvDialogBody.setText("");
holder.btn_attestating
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
...
}
});
holder.btn_cance.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
...
}
});
*
* private class ImageItemHolder {
@ViewInject((R.id.btn_attestating))
private Button btn_attestating;
@ViewInject((R.id.tv_dialog_body))
private TextView tvDialogBody;
@ViewInject(R.id.btn_cance)
private Button btn_cance;
}
* -------------------------------------------
* 使用xUtils快速开发框架需要有以下权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
混淆时注意事项:
添加Android默认混淆配置${sdk.dir}/tools/proguard/proguard-android.txt
不要混淆xUtils中的注解类型,添加混淆配置:-keep class * extends java.lang.annotation.Annotation { *; }
对使用DbUtils模块持久化的实体类不要混淆,或者注解所有表和列名称@Table(name="xxx"),@Id(column="xxx"),@Column(column="xxx"),@Foreign(column="xxx",foreign="xxx");
*
* xUtils架包和sample下载:https://github.com/wyouflf/xUtils
0 0
- ViewUtils for com.lidroid.xutils
- android:java.lang.NoClassDefFoundError: com.lidroid.xutils.HttpUtils 异常的解决
- android 后台报错com.lidroid.xutils.exception.HttpException: Not Found-----Not Found 解决办法
- xUtils ViewUtils 用法
- 注解:xUtils之----ViewUtils
- Xutils之ViewUtils解析
- java.lang.Class Cast Exception: com.lidroid.xutils.bitmap.core.Async Drawable cannot be cast to andr
- Android xUtils框架(二) ViewUtils
- xUtils中viewUtils的使用
- xUtils系列之ViewUtils-概览
- Android xUtils框架(二) ViewUtils
- XUtils之ViewUtils和DBUtils
- xUtils介绍 -- DbUtils、ViewUtils、HttpUtils、BitmapUtils
- xUtils系列之ViewUtils-ContentView注解
- xUtils系列之ViewUtils-PreferenceInject注解
- xUtils系列之ViewUtils-ResInject注解
- xUtils系列之ViewUtils-ViewInject注解
- xUtils系列之ViewUtils-PreferenceEvent注解
- 利用SQL Server发送邮件
- POJ 3090 Visible Lattice Points
- codeforces 490C Hacking Cypher
- AreYouBusy hdu3535
- lua windows环境搭建
- ViewUtils for com.lidroid.xutils
- PHP基础正则表达式
- 百度CDN公共库可以直接用在自己的项目中
- DOM-动态创建表格和动态添加下拉列表框实例
- 【原】软件工程总概(1)
- JS实现同时存在两个漂浮广告在网页中浮动
- 96A - Football
- 1.4 图解--数学领域
- codeforces 488B Candy Boxes