会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 57自学网———旗下安卓自学网站专注Android系统开发教程!
当前位置:主页 > 软件开发 > 安卓开发 > 正文

Android Study 之 初识ButterKnife(8.5.1)及简单运用 【安卓巴士博文大赛】 ...

时间:2017-06-06 13:40 来源:网络整理 作者:安卓自学网 阅读:

<font color=FF0000> LZ-Says:突然间不知道说什么好,祝大家编码无bug吧~</font>

前言

话说,Android开发的兄弟们都知道,每次初始化控件,设置相应的事件,写的那点过程多而且恶心。我们先一块回顾下不堪的曾经~

那些年。。。

那些年,我们是这样初始化控件:

// 每次的习惯上来写一个initView()方法 tvContent = (TextView) findViewById(R.id.btn_content); // 遇到项目大的时候,这里面的东西,也曾占据半壁江山。。。苦不堪言 // 当然也曾封装过方法,避免各种findViewById,但是依旧如此。。。

那些年,我们是这样设置事件:

tvContent.setOnClickListener(this); // 当然,LZ的习惯依旧扔到initView中,让他们尽情的浪荡,放纵~

<font color=FF0000 >But,骚年,身为一个Android开发,你还能继续忍受这种不堪的摧残么?</font>

答案当然不能!

那么,接下来为大家带来一个神器,助我们开发高效,快捷~

ButterKnife 闪亮登场ButterKnife 初识

ButterKnife,又被戏称为黄油刀,至于为什么被戏称为这个,大家可以看下面附上的从官方截取的icon~

这里写图片描述

一块桌布,一个盘子,一个Android小机器人形状的黄油,一把刀。这些合起来被大家戏称为黄油刀。(我说呢,纠结我半天,都搞不懂黄油刀是个什么鬼,这次晓得了)

icon下面简单解释就是为Android 视图(View)提供绑定字段和方法。 也就是说,我们今后可以通过这把刀去替换之前琐碎的初始化~

大家有兴趣的也可以去官网上看看,下面为大家附上官网地址以及GitHub地址捎带的附带个api地址。

官方地址:

GitHub地址:https://github.com/JakeWharton/butterknife

API访问地址:

话说,简单了解之后,还是来点干货吧~不然说不过去哈

首先我们要明白,ButterKnife 是出自Android大神JakeWharton之手的一个开源库,它的作用就是通过注解绑定视图的方法,从而简化代码量(减少我们当年findViewById以及设置事件时编写的大量代码)。

而我们使用一个东西,必须要知道他的优势在哪儿?我用它能给我带来什么方便之处?那么接下来,我们看看这把“黄油刀”有着什么样的优势,从而能简化我们一些代码?

ButterKnife 优势

1. 强大的View绑定,Click事件处理功能以及资源内容,简化代码,提升开发效率;

2. 方便的处理Adapter里的ViewHolder绑定问题;

3. 运行时不会影响APP效率,使用配置方便;

4. 代码清晰,可读性强。

了解完ButterKnife优势后,怀着好奇心,我们看看他都支持哪儿些方面,换句话说就是,我们开发过程中,在什么情况下可以通过使用ButterKnife去减少我们曾经的代码量?

ButterKnife 使用场景

View(视图)绑定:例如初始化控件;

资源绑定:例如color,string等;

非Activity绑定:这里值得是当时用 fragment 的时候;

View List 绑定: Adapter 中 ViewHolder,具体使用会在下方讲解;

Listener 绑定:这个就好理解了,也就是平时控件所需监听事件。

ButterKnife 语法1. activity fragment 绑定与 fragment解绑

想要使用ButterKnife,简单配置之后,我们还需要在Activity中onCreate()绑定,如下:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 必须在setContentView()之后绑定 ButterKnife.bind(this); }

而如果使用fragment,官方给出的绑定以及解绑如下:

public class FancyFragment extends Fragment { @BindView(R.id.button1) Button button1; @BindView(R.id.button2) Button button2; private Unbinder unbinder; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fancy_fragment, container, false); // 绑定 unbinder = ButterKnife.bind(this, view); // TODO Use fields... return view; } @Override public void onDestroyView() { super.onDestroyView(); // 解绑 unbinder.unbind(); } }

绑定之后,我们一起来看看,常用的几种监听通过使用ButterKnife之后,我们又该如何编写相关事件呢?别急,往下看~

2.单击事件

首先我们先看看人家表层提供我们代码中,我们可以得到哪儿些对我们有用的信息

(责任编辑:www.57zxw.com)

顶一下
(0)
0%
踩一下
(0)
0%