.Net程序员安卓学习之路5:使用xutils注入View和事件以及图片的显示

简介: 原文:.Net程序员安卓学习之路5:使用xutils注入View和事件以及图片的显示xUtils注入和图片显示 一、xUtils注入 引用官方介绍: ViewUtils模块: •android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定; •新的事件绑定方式,使用混淆工具混淆后仍可正常工作; •目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
原文: .Net程序员安卓学习之路5:使用xutils注入View和事件以及图片的显示

xUtils注入和图片显示

一、xUtils注入

引用官方介绍:

ViewUtils模块:
 
•android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
•新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
•目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event

      之前我们写事件比如Btn的Click事件一般采用硬编码或者Linstener的方式来实现,从界面某个元素取值或者赋值必须首先使用findcontrol来找到他较为麻烦且难以维护,而这些使用xUtils的注解功能就能很简洁的完成,比如下例我们实现点击Btn给文本框赋值操作:

wpsA9F6.tmp

点击Btn后:

wpsAA07.tmp

要实现xUtils注入首先得在onCreate中加入:

ViewUtils.inject(this); //注入view和事件

之后定义控件如下:

@ViewInject(R.id.lbl_info)

private TextView textView;

这样就相当于找到界面ID为lbl_infoTextView ,在接下来的代码中随意使用:

textView.setText("Clicked Btn");

能注入View同样也能注入事件,如我们要实现Btn的点击事件只需如下编码即可:

@OnClick(R.id.btn_test)
public void btn_testClick(View v)

{ 
// 方法签名必须和接口中的要求一致 .... }

而前台并不需要定义它的事件:

<Button
android:id="@+id/btn_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Me" />

结合起来就是:

@OnClick(R.id.btn_test)
public void btn_testClick(View v)
    { 
        // 方法签名必须和接口中的要求一致
        textView.setText("Clicked Btn");

    }

这种方式必须保证控件有ID。

二、使用xUtils完成图片的显示

◦ BitmapUtils模块:
 
•加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
•支持加载网络图片和本地图片;
•内存管理使用lru算法,更好的管理bitmap内存;
•可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...

1.网络图片:

需要增加网络或者SD卡访问权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

拿博客园Logo为例,访问的代码如下:

BitmapUtils bitmapUtils = new BitmapUtils(this);
bitmapUtils.display(imgItem, "http://42.121.254.191/images/logo_small.gif");

思路是先在界面声明图片控件:

<ImageView
android:id="@+id/img_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

再找到这个控件:

@ViewInject(R.id.img_item)
private ImageView imgItem;

将开始访问网络图片的那句代码放入按钮点击事件下,运行即可:

wpsAA08.tmp

2. 本地图片

在本地assets中放入一个图片待显示。

只需一句代码(剩下的和上例同):

bitmapUtils.display(imgItem, "assets/qq.jpg");

wpsAA18.tmp

目录
相关文章
|
1月前
|
XML 缓存 Android开发
Android开发,使用kotlin学习多媒体功能(详细)
Android开发,使用kotlin学习多媒体功能(详细)
94 0
|
3月前
|
数据安全/隐私保护
.net给图片增加水印和生成图片缩略图
.net给图片增加水印和生成图片缩略图
31 0
|
3月前
|
安全 Linux Android开发
Android安全启动学习(一):AVB校验是什么?
Android安全启动学习(一):AVB校验是什么?
98 0
|
3月前
|
存储 安全 Linux
Android安全启动学习(四):device-mapper-verity (dm-verity)和哈希树
Android安全启动学习(四):device-mapper-verity (dm-verity)和哈希树
121 0
|
16天前
|
Android开发
Android保存图片到相册(适配android 10以下及以上)
Android保存图片到相册(适配android 10以下及以上)
18 1
|
2月前
|
机器学习/深度学习 存储 编解码
多任务学习新篇章 | EMA-Net利用Cross-Task Affinity实现参数高效的高性能预测
多任务学习新篇章 | EMA-Net利用Cross-Task Affinity实现参数高效的高性能预测
42 0
|
3月前
|
开发框架 物联网 数据库
89个android学习样例源码
89个android学习样例源码
76 0
|
3月前
|
Java Android开发 C++
2023安卓逆向 -- JNI学习(从开发到反编译)
2023安卓逆向 -- JNI学习(从开发到反编译)
19 0
|
3月前
|
NoSQL 关系型数据库 MongoDB
【DotNetGuide】C#/.NET/.NET Core学习、工作、面试指南
【DotNetGuide】C#/.NET/.NET Core学习、工作、面试指南
105 0
|
3月前
|
开发框架 .NET API
C#/.NET/.NET Core推荐学习书籍(23年12月更新)
C#/.NET/.NET Core推荐学习书籍(23年12月更新)
219 0