Android中butterknife的使用与自动化查找组件插件详解
作者:Android架构师丨小熊 发布时间:2021-09-18 06:58:36
前言
Android开发中经常使用findViewById来获取控件然后进行一些列操作,当控件太多的时候代码就非常臃肿,今天就来学习一个新的开源库ButterKnife,真的可以帮助我们高效,快捷的开发,让我们的代码更加简洁。
首先我们来把ButterKnife集成在我们的项目中:ButterKnife的GitHub官方地址:github.com/JakeWharton…
一、集成分为了两部分:
1.仅仅在App主工程使用:
在App的 build.gradle 中添加如下代码:
android {
...
// Butterknife requires Java 8.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'com.jakewharton:butterknife:10.2.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0'
}
然后将其应用到您的模块中:也在在App的 build.gradle中增加
apply plugin: 'com.android.library'//这是你自己的 检查下误复制
apply plugin: 'com.jakewharton.butterknife'
2.如果在Library projects中使用:
在Project的 build.gradle 中添加如下代码:
buildscript {
repositories {
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'//这是你的gradle版本
classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.0'
}
}
library中使用需要使用,如下:这就已经集成玩可以使用
class ExampleActivity extends Activity {
@BindView(R2.id.user)
EditText username;
@BindView(R2.id.pass)
EditText password;
...
}
二、如接下来介绍下的一个ButterKnife插件可以自动化查找组件并初始
1.在线引用
引用:Ctrl+Alt+S -> Plugins ->搜索 Android ButterKnife Zelezny -> Install plugin form disk ,从本地引入我们下载的jar包,添加成功后需要重启Android studio
2.使用
3.添加成功后,
把光标定位在activity_main的后面,注意是括号里边 前提是你在xml布局中命名好组件
setContentView(R.layout.activity_main);
右击选择Generate... 选择最后一行 或者使用快捷键Alt + Insert选择
低级Confirm就可以自动化生成代码了 前提是你在xml布局中命名好组件
总结
来源:https://www.jianshu.com/p/2f95c7ba2b6c


猜你喜欢
- 本文实例讲述了Android学习笔记之应用单元测试。分享给大家供大家参考,具体如下:第一步:在AndroidManifest.xml中加入如
- SpringBoot中的SpringMVC配置功能都是在WebMvcAutoConfiguration类中,xxxxAutoConfigur
- 一、前言关于EasyExcel,它对poi做了进一步的封装,使得整个编写流程更加的面向对象。好处嘛,我认为流程上更加清晰即易懂、可读性更好,
- 协程(Coroutine)这个词其实有很多叫法,比如有的人喜欢称为纤程(Fiber),或者绿色线程(GreenThread)。其实究其本质,
- 在Spring Boot集成Mybatis的项目中,如果出现SQL语句执行问题,我们需要进行排查。此时就需要打印对应的SQL语句,那么该如何
- 项目介绍java 开发中,参数校验是非常常见的需求。但是 hibernate-validator 在使用过程中,依然会存在一些问题。vali
- Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。
- @Cacheable自定义KeyGenerator1. 概述SpringBoot 使用 @Cacheable 可以方便的管理缓存数据,在不指
- AI 平台:http://ai.baidu.com/开发工具:vs 2017准备工作1、注册百度账号2、登录百度 AI 开发平台,http:
- springboot 参数格式校验@Validated 字面意思校验@RequestBody该注解不用多说,意思是接收为json格式的参数@
- package com.java.db;import java.lang.reflect.Constructor;import java.l
- 本文实例为大家分享了Unity实现截图功能的具体代码,供大家参考,具体内容如下一、使用Unity自带APIusing UnityEngine
- 这个导出网站功能指通过前台javascript触发进入ashx函数中,实现将服务器中某个文件夹(包含其子文件夹和文件)通通复制到服务器中另一
- 首先来看效果: 一、实现原理在实现过程中,主要考虑整个界面由若干个字母组成的子母线条组成,这样的话把固定数量的字母封装成一个字母线条,而每个
- 1. 什么是RESTREST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状
- 本文实例分析了Android开发之TimePicker控件用法。分享给大家供大家参考,具体如下:新建项目:New Android Proje
- 本文实例为大家分享了C语言运用函数指针数组制作计算器的具体代码,供大家参考,具体内容如下先来回顾一下概念:指针数组 —— 存放指针的数组函数
- c#做公司的应用级开发时,导出数据这个是经常要做的,公司使用的是一个叫NPOI的组件。具体是什么我就不很清楚,反正这样用就是了。具体的dll
- 我们有时候会遇到这样的情况,需要获取某些中文的拼音、中文首字母缩写和中文首字母,下面我将为大家介绍一下如何获取中文拼音的缩写。1、项目建立和
- jdk1.8中的for循环jdk1.8 从语法角度,感觉发生的变化还是蛮大的。在此记录一下。for 循环 public stati