安卓“小试牛刀”:ButterKnife——牛油刀(2)

回顾前文,链接在下
牛油刀(1)

ButterKnife——牛油刀(2)

3.多个控件绑定一个事件

【案例】2个按钮,绑定到一个事件上。
在这里插入图片描述
activity_main3.xml
在这里插入图片描述

MainActivity3.java
在这里插入图片描述
效果:
在这里插入图片描述

4.自定义控件中的事件

步骤:
(1)创建自定义控件
(2)在控件内,通过绑定的形式指定该控件的默认事件
在这里插入图片描述
MyButton.java
在这里插入图片描述
activity_main4.xml
在这里插入图片描述
效果:在这里插入图片描述

【拓展】如果每个按钮既有公共的逻辑,又有独特的逻辑,如何处理?
自定义按钮实现:
公共逻辑是消息弹出“保存开始”。
2个按钮,第一个按钮实现加法,对2个数求和;
第二个按钮实现减法,对2个数求差。
在主界面输入2个数,点击按钮分别执行求和和求差。

在这里插入图片描述
MyButton2.java
1
2
activity_main5.xml
在这里插入图片描述
MainActivity5.java
在这里插入图片描述
效果:
在这里插入图片描述

5.通过Setter对绑定的集合元素进行批量操作

如何定义一个Setter?
这个setter可以是让所有按钮指定颜色,也可以让所有按钮失效的操作。
通过实现Setter接口,来创建实例。
在这里插入图片描述
在这里插入图片描述
activity_main6.xml
在这里插入图片描述
MainActivity6.java
在这里插入图片描述
效果:
在这里插入图片描述

#(接)1.如何卸除绑定?

为什么要卸除绑定?
释放资源。
如何卸除绑定?
当绑定生效后,有可能需要卸除绑定,类似于“非常驻型广播接收者”,在界面加载或创建部分,进行绑定,在界面的stop之后或者destroy之后需要卸除绑定,目的是让程序的性能更好。
【案例】在Fragment中实现卸除绑定:两个Fragment切换,第一个Fragment不再使用,就需要在第一个Fragment中卸除绑定。
在这里插入图片描述
fragment_blue.xml
在这里插入图片描述
BlueFragment.java
在这里插入图片描述
fragment_red.xml
在这里插入图片描述
RedFragment.java
在这里插入图片描述
MainActivity.java
在这里插入图片描述
效果:
在这里插入图片描述
日志:
在这里插入图片描述

2.为绑定的资源设置可选注解或者可空注解

可空注解:@Nullable
可选注解:@Optional
作用:即使没有绑定到资源,也不会报错。
【案例】
情况1:资源不存在,也绑定,看是否报错;
情况2:使用可选或可空注解后,资源不存在,看是否报错。
在这里插入图片描述
activity_main2.xml
在这里插入图片描述
test.xml
在这里插入图片描述
MainActivity2.java
在这里插入图片描述
效果:不会报错
在这里插入图片描述

3.Glide

用于图片处理、加载。
类似的框架有:picasso、fresco、ImageLoader
在Android开发中,经常会大量使用图片,尤其图片本身很大,会造成程序的内存溢出。因此在android os内部有约定,当程序运行时超出某某内存限制,就会抛出内存溢出错误提示(OOM:out of memory)。
这些图片框架都可以做到:
大图加载、图片缓存、自动生成缩略图、动图加载。
官网地址:https://muyangmin.github.io/glide-docs-cn/
Glide支持拉取、解码、展示视频快照、图片、Gif动画。

4.第一个Glide示例

(1)获取Glide
implementation ‘com.github.bumptech.glide:glide:4.11.0’
annotationProcessor ‘com.github.bumptech.glide:compiler:4.11.0’
(2)加载一张图片
在这里插入图片描述
build.gradle:
在这里插入图片描述
activity_main3.xml
在这里插入图片描述
MainActivity3.java
在这里插入图片描述
效果:
在这里插入图片描述

点个关注和赞赞哦!后期继续更新!么么叽么么叽么么哒!
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫白媛

老板给个铜板啊!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值