Android中butterknife的使用与自动化查找组件插件详解
前言
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布局中命名好组件
总结
以上就是我在处理客户端真实IP的方法,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。
相关推荐
-
androidstudio3.0使用butterknife报错解决的解决方法
问题 在添加butterKnife依赖的时候出现如下错误: Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotation processor. Please add them to the annotationProcessor configuration. - butterkn
-
Android Kotlin环境使用ButterKnife的方法
Butter Knife 黄油刀大家应该都挺熟悉的,有这个之后,就不用写一堆的findViewById,体力活,最近试着玩玩Kotlin语言,也就尝试在Kotlin语言环境下使用ButterKnife,有一点小问题,解决并分享一下. 先看看java环境的用法 1.安装插件,然后重启Android studio. 安装插件.jpg 2.使用,点击一下在setContentView(R.layout.activity_main);然后快捷键Alt+insert. Alt+insert.jpg 3.使
-
Android注解ButterKnife的基本使用
ButterKnife的最新版本是8.4.0. 首先,需要导入ButterKnife的jar包. 在AndroidStudio中,File->Project Structure->Dependencies->Library dependency 搜索butterknife即可,第一个就是. 另外一种就是直接在build:grade(app)dependencies里添加: compile 'com.jakewharton:butterknife:8.4.0' annotationProc
-
详解Android Studio安装ButterKnife插件(手动安装)
写完布局后 我们一般需要 findViewById找到这个控件,但是现在有一个很好用的插件ButterKnife 可以一键转化布局文件中的所有有id属性的控件到activitry中:现在我们介绍下此插件使用: 通过AndroidStudio 下载安装 1.打开Android Studio中的设置界面,并且点击左边的插件Plugins,在搜索框中输入 Android ButterKnife Zelezny 如图: 点击 Search in repositories 如图: 点击 install就自
-
Android Studio使用ButterKnife和Zelezny的方法
前言 ButterKnife是一个专注于Android的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成. 有着以下的优点: 1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2.方便的处理Adapter里的ViewHolder绑定问题 3.运行时不会影响APP效率,使用配置方便 4.代码清晰,可读性强 Android Studio配置ButterKnife 第一步 第二步 配置project的build.
-
Android注解使用之ButterKnife 8.0详解
前言: App项目开发大部分时候还是以UI页面为主,这时我们需要调用大量的findViewById以及setOnClickListener等代码,控件的少的时候我们还能接受,控件多起来有时候就会有一种想砸键盘的冲动.所以这个时候我们想着可以借助注解的方式让我们从这种繁重的工作中脱离出来,也让代码变得更加简洁,便于维护,今天主要学习一下只专注View.Resource.Action注解框架ButterKnife. ButterKnife介绍 ButterKnife是一个专注于Android系统的V
-
解决Android Studio 3.0 butterknife:7.0.1配置的问题
网上教程7.0大多数配置是这样compile 'com.jakewharton:butterknife:7.0.1' ,不知道他们用的Android Studio是多少版本,我用的3.0并没有成功,报错如下: Error:Execution failed for task ':app:javaPreCompileDebug'. Annotation processors must be explicitly declared now. The following dependencies on
-
Android添加ButterKnife时报错Error:(2, 0) Cannot add extension with name 'android'的解决办法
在添加ButterKnife的时候,根据它的Readme配置以后报错: Error:(2, 0) Cannot add extension with name 'android', as there is an extension already registered with that name. 解决方法如下: 默认我们在自己的module下添加后是这样的: apply plugin: 'com.android.application' apply plugin: 'com.android.
-
Android Studio中ButterKnife插件的安装与使用详解
1>Android Studio 安装ButterKnife插件 同安装其他插件类似,如下: 1.1>打开Plugins界面 按照上图中1,2,3指示操作(注意:这里我的Android Studio中已经安装了该插件,所以显示的内容不太一样).然后重启Android Studio. 2>在项目上使用该开源项目(以Android Studio 为例) 2.1>在bulid.gradle中添加依赖 重新编译一下该项目,通过后继续操作. 2.2>在代码中就可以使用注解的方式了 2.
-
Android中butterknife的使用与自动化查找组件插件详解
前言 Android开发中经常使用findViewById来获取控件然后进行一些列操作,当控件太多的时候代码就非常臃肿,今天就来学习一个新的开源库ButterKnife,真的可以帮助我们高效,快捷的开发,让我们的代码更加简洁. 首先我们来把ButterKnife集成在我们的项目中:ButterKnife的GitHub官方地址:github.com/JakeWharton- 一.集成分为了两部分: 1.仅仅在App主工程使用: 在App的 build.gradle 中添加如下代码: android
-
Android中Spinner(下拉框)控件的使用详解
android给我们提供了一个spinner控件,这个控件主要就是一个列表,那么我们就来说说这个控件吧,这个控件在以前的也看见过,但今天还是从新介绍一遍吧. Spinner位于 android.widget包下,每次只显示用户选中的元素,当用户再次点击时,会弹出选择列表供用户选择,而选择列表中的元素同样来自适配器.Spinner是View类得一个子类. 1.效果图 2.创建页面文件(main.xml) <Spinner android:id="@+id/spinner1" and
-
Android中webview与JS交互、互调方法实例详解
Android中webview与JS交互.互调方法实例详解 前言: 对于试水的功能,一般公司都会采用H5的方式来开发,可以用很少的资源与很短的项目工期来完成. 但许多情况下,H5页面会需要一些原生持有的一些如用户信息之类的数据,一些交互也需要调用原生的,如toast之类要保持同一个手机风格一致的交互行为.这个时候就需要能够让JS主动调用原生的方法来进行操作或者获取数据.或者是原生调用JS的方法在H5加载的时候传递一些参数. 对于原生调用JS的方法 我们需要实现一个WebViewClient,在这
-
Android性能优化之RecyclerView分页加载组件功能详解
目录 引言 1 分页加载组件 1.1 功能定制 1.2 手写分页列表 1.3 生命周期管理 2 github 引言 在Android应用中,列表有着举足轻重的地位,几乎所有的应用都有列表的身影,但是对于列表的交互体验一直是一个大问题.在性能比较好的设备上,列表滑动几乎看不出任何卡顿,但是放在低端机上,卡顿会比较明显,而且列表中经常会伴随图片的加载,卡顿会更加严重,因此本章从手写分页加载组件入手,并对列表卡顿做出对应的优化 1 分页加载组件 为什么要分页加载,通常列表数据存储在服务端会超过100条
-
解析Android中实现滑动翻页之ViewFlipper的使用详解
1)View切换的控件-ViewFlipper介绍 ViewFilpper类继承于ViewAnimator类.而ViewAnimator类继承于FrameLayout. 查看ViewAnimator类的源码可以看出此类的作用主要是为其中的View切换提供动画效果.该类有如下几个和动画相关的方法. setInAnimation:设置View进入屏幕时候使用的动画.该方法有两个重载方法,即可以直接传入Animation对象,也可以传入定义的Animation文件的resourceID. setOut
-
Android中ViewFlipper的使用及设置动画效果实例详解
本文实例讲述了Android中ViewFlipper的使用及设置动画效果.分享给大家供大家参考,具体如下: 说到左右滑动,其实实现左右滑动的方式很多,有ViewPaer,自定义实现Viewgroup,gallery等都可以达到这种效果.这里做下ViewFliper实现左右滑动的效果. 会用到以下的技术: 1.ViewFlipper 2.GestureDetector 3.Animation 主要是这三个类在起作用. ViewFlipper,不妨把它看做一个容器吧,你可以把许多的View放在这个容
-
Android中默认系统的声音/大小修改和配置详解
前言 声音管理系统用来实现声音的输入和输出.声音的控制和路由等功能,包括主和各种音源的音量调节.声音焦点控制,声音外设的检测和状态管理,声音源输入和输出的策略管理.音效的播放.音轨设置和播放.录音设置和启动等功能. 最近在做定制需求的时候,需要修改系统通知的声音,将其禁用掉,避免第三方应用发送通知时,声音很大吓到用户.索性就把通知声音关掉.下面就说说关闭声音的几种方法,以及修改系统默认声音的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 本文是基于Android5.1的代
-
android中px、sp与dp之间进行转换详解
目录 相关名词解释 系统屏幕密度 单位换算方法 利用系统TypeValue类来转换 补充:sp与dp的区别 总结 由于Android手机厂商很多,导致了不同设备屏幕大小和分辨率都不一样,然而我们开发者要保持在不同设备上显示同样的视觉效果,就需要做一些适配效果. 相关名词解释 屏幕大小:通常指的是屏幕对角线的长度,使用“寸”为单位来衡量. 分辨率:指手机屏幕的像素点个数,例如:720*1280,指的是宽有720个像素点,高有1280个像素点. dpi:指的是每英寸像素,是由对角线上的像素点数除以屏
-
JS中多步骤多分步的StepJump组件实例详解
最近的工作在做一个多步骤多分步的表单页面,这个多步骤多分步的意思是说这个页面的业务是分多个步骤完成的,每个步骤可能又分多个小步骤来处理,大步骤之间,以及小步骤之间都是一种顺序发生的业务关系.起初以为这种功能很好做,就跟tab页的实现原理差不多,真做下来才发现,这里面的相关逻辑还是挺多的(有可能是我没想到更好地办法~),尤其是当这个功能跟表单,还有业务数据的状态结合起来的时候.我把这个功能相关的一些逻辑抽象成了一个组件StepJump,这个组件能够实现纯静态的分步切换和跳转,以及跟业务相结合的复杂
-
Android中CheckBox复选框控件使用方法详解
CheckBox复选框控件使用方法,具体内容如下 一.简介 1. 2.类结构图 二.CheckBox复选框控件使用方法 这里是使用java代码在LinearLayout里面添加控件 1.新建LinearLayout布局 2.建立CheckBox的XML的Layout文件 3.通过View.inflate()方法创建CheckBox CheckBox checkBox=(CheckBox) View.inflate(this, R.layout.checkbox, null); 4.通过Linea
随机推荐
- Angular.js中控制器之间的传值详解
- 读懂正则表达式就这么简单
- mysql 数据插入优化方法
- PHP加密函数 Javascript/Js 解密函数
- PowerShell中定义哈希散列(Hash)和调用例子
- JavaScript的学习入门整理篇第1/3页
- IOS 远程通知兼容(IOS7,IOS8)实例详解
- Python中使用第三方库xlrd来读取Excel示例
- linux下基于C语言的信号编程实例
- Mysql的基础使用之MariaDB安装方法详解
- PHP 常用时间函数资料整理
- Ajax与mysql数据交互制作留言板功能(全)
- 批处理写的 oracle 数据库备份还原工具
- 学习javascript,实现插入排序实现代码
- python循环监控远程端口的方法
- oracle数据库中如何处理clob字段方法介绍
- jquery之超简单的div显示和隐藏特效demo(分享)
- Android RecyclerView的Item点击事件实现整理
- 将Python中的数据存储到系统本地的简单方法
- Android实现图片滚动和页签控件功能的实现代码