关闭

安卓开源库ButterKnife的基本使用

标签: 开源库 ButterKnife
392人阅读 评论(0) 收藏 举报
分类:

1.project-level build.gradle里加上

buildscript {
  repositories {
    mavenCentral()
   }
  dependencies {
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
  }
}


2.在gradle(module)里加上

apply plugin: 'android-apt'

android {
  ...
}

dependencies {
  compile 'com.jakewharton:butterknife:8.2.1'
  apt 'com.jakewharton:butterknife-compiler:8.2.1'
}

3. 基本使用1

1)替换对象

public void bind(ExampleActivity activity) {
  activity.subtitle = (android.widget.TextView) activity.findViewById(R.id.subtile);
  activity.footer = (android.widget.TextView) activity.findViewById(R.id.footer);
  activity.title = (android.widget.TextView) activity.findViewById(R.id.title);
}

2)等效的替换代码

class ExampleActivity extends Activity {
  @BindView(R.id.title) TextView title;
  @BindView(R.id.subtitle) TextView subtitle;
  @BindView(R.id.footer) TextView footer;

  @Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_activity);
    ButterKnife.bind(this);
  }
}

4. 基本使用之viewholder

public class MyAdapter extends BaseAdapter {
  @Override public View getView(int position, View view, ViewGroup parent) {
    ViewHolder holder;
    if (view != null) {
      holder = (ViewHolder) view.getTag();
    } else {
      view = inflater.inflate(R.layout.whatever, parent, false);
      holder = new ViewHolder(view);
      view.setTag(holder);
    }

    holder.name.setText("John Doe");

    return view;
  }

  static class ViewHolder {
    @BindView(R.id.title) TextView name;
    @BindView(R.id.job_title) TextView jobTitle;

    public ViewHolder(View view) {
      ButterKnife.bind(this, view);
    }
  }
}

参考


0
1
查看评论

安卓开发懒鬼最爱之ButterKnife,依赖注入第三方是库,进一步加速开发速度

转载请注明出处:王亟亟的大牛之路还在烦躁一大堆findById的控件操作而烦恼么?平时,我们的那一系列findById是一个“浩大的工程”样例如下这是曾经一个项目的一个填童虎数据表单的一个Activity,这是一系列的声明public class UserInfoActivity extends A...
  • ddwhan0123
  • ddwhan0123
  • 2015-08-10 15:26
  • 2184

安卓开源库Picasso的基本使用

Picasso是安卓加载,下载图片的强有力工具 1.首先在,build.gradule(Module)里添加 dependencies { compile 'com.squareup.picasso:picasso:2.5.2' } 2.再同步 3.基本使用方...
  • zzldm
  • zzldm
  • 2016-08-14 11:46
  • 426

Android依赖注入类库 Butter Knife的使用

我们做移动端开发,每天写代码时几乎都会跟各种View打交道,大量的声明和findViewById()让人感到厌烦,但是又不得不写,今天给大家推荐一个第三方开源注解工具,ButterKnife,大家可自行在网上下载使用.下面先通过两段代码了解对比一下传统写法和使用了ButterKnife后代码的变化....
  • zhangxmu
  • zhangxmu
  • 2015-11-02 19:42
  • 2679

安卓里开源动画库nineoldandroids的应用

nineoldandroids是Jake Wharton的动画开源库,它的作用是实现一些复杂且绚丽的动画效果,我在做侧滑缩放效果时一直找不到该如何实现,最后用这个类才实现了缩放的效果。        首先,使用它需要导入相应的jar包,当然这是在exlips...
  • ghdmao
  • ghdmao
  • 2016-06-30 09:08
  • 1323

Android注解库 Butterknife问题合集

ButterKnife使用问题合集
  • xcdtj
  • xcdtj
  • 2017-02-16 14:34
  • 253

安卓开源库

screenplay A minimalist, View-based applicationframework for Android Afinal Afinal 是一个android的ioc,orm框架,内置了四大模块功 能:FinalAcitivity,FinalBitmap,Final...
  • Lorxiaohei
  • Lorxiaohei
  • 2016-04-12 14:06
  • 580

Android开源库集合

那些年收藏的Android开源库集合(UI效果) 那些年收藏的Android开源库集合(工具) RecycleView: RecycleView功能增强 https://github.com/Malinskiy/SuperRecyclerView RecycleView功...
  • LIENLIN
  • LIENLIN
  • 2017-04-10 11:35
  • 1010

butterknife 接入、使用和Android studio3.0适配问题

看到许多关于butterknife的文章,介绍的都特别详细,升级Android studio之后出现和butter knife适配的问题,今天记下来,方便之后使用 一、接入 1、在moudle的gradle中 compile 'com.jakewharton:butterknife:8.4...
  • androidwubo
  • androidwubo
  • 2017-12-18 18:17
  • 209

Lottie安卓开源动画库使用

碉堡的Lottie Airbnb最近开源了一个名叫Lottie的动画库,它能够同时支持iOS,Android与ReactNative的开发.此消息一出,还在苦于探索自定义控件各种炫酷特效的我,兴奋地就像发现的新大陆一般.可以说,Lottie的出现,将极大地解放Android/iOS工程师于无尽的编...
  • gm48mg0m
  • gm48mg0m
  • 2017-02-12 22:19
  • 78

Android经久不衰最受欢迎的开源库整理,你一定用过10个以上,架构师必备

Android经久不衰最受欢迎的开源库整理,如果你想拿高薪或者想做Android架构师。这些框架不仅一定要会用,还要阅读其源码,掌握其原理! 文末附开源框架综合使用开源APP项目 第三方库 一 、网络请求 1、Android Async HTTP   ...
  • wangwangli6
  • wangwangli6
  • 2017-04-18 13:16
  • 1703
    个人资料
    • 访问:100258次
    • 积分:1987
    • 等级:
    • 排名:千里之外
    • 原创:85篇
    • 转载:98篇
    • 译文:1篇
    • 评论:2条
    最新评论