Android之butterknife(懒人库)
1.Activity中的绑定
<code class="hljs scala has-numbering"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ExampleActivity</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">Activity</span> {</span><span class="hljs-annotation">@Bind</span>(R.id.title) TextView title;<span class="hljs-annotation">@Bind</span>(R.id.subtitle) TextView subtitle;<span class="hljs-annotation">@Bind</span>(R.id.footer) TextView footer;<span class="hljs-annotation">@Override</span> public void onCreate(Bundle savedInstanceState) {<span class="hljs-keyword">super</span>.onCreate(savedInstanceState);setContentView(R.layout.simple_activity);ButterKnife.bind(<span class="hljs-keyword">this</span>);} }</code>
2.资源绑定
通过预定义的注解(@BindBool, @BindColor, @BindDimen, @BindDrawable, @BindInt, @BindString)结合一个资源 ID以和表示该资源类型的相应的字段。
<code class="hljs scala has-numbering"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ExampleActivity</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">Activity</span> {</span><span class="hljs-annotation">@BindString</span>(R.string.title) String title;<span class="hljs-annotation">@BindDrawable</span>(R.drawable.graphic) Drawable graphic;<span class="hljs-annotation">@BindColor</span>(R.color.red) int red; <span class="hljs-annotation">@BindDimen</span>(R.dimen.spacer) Float spacer; <span class="hljs-comment">// ...</span> }</code><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>
3.Fragment中的绑定
你还可以通过提供你自己的根视图来执行任意对象的绑定。
<code class="hljs java has-numbering"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">FancyFragment</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">Fragment</span> {</span><span class="hljs-annotation">@Bind</span>(R.id.button1) Button button1;<span class="hljs-annotation">@Bind</span>(R.id.button2) Button button2;<span class="hljs-annotation">@Override</span> <span class="hljs-keyword">public</span> View <span class="hljs-title">onCreateView</span>(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fancy_fragment, container, <span class="hljs-keyword">false</span>);ButterKnife.bind(<span class="hljs-keyword">this</span>, view);<span class="hljs-keyword">return</span> view;} }</code>
4.监听器绑定Butter knife可以自动将侦听器配置为方法。
<code class="hljs java has-numbering"><span class="hljs-annotation">@OnClick</span>(R.id.submit) <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">submit</span>(View view) {}<span class="hljs-annotation">@OnClick</span>(R.id.submit) <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">submit</span>() {} <span class="hljs-comment">//定义的指定类型将会被自动转换</span><span class="hljs-annotation">@OnClick</span>(R.id.submit) <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">sayHi</span>(Button button) {button.setText(<span class="hljs-string">"Hello!"</span>); }</code>
Android之butterknife(懒人库)相关推荐
- 懒人库ButterKnife的应用
1.关于ButterKnife的配置 在Module的gradle中[截止目前版本8.4.0] annotationProcessor 'com.jakewharton:butterknife-com ...
- Android懒人库
2019独角兽企业重金招聘Python工程师标准>>> UI NotBoringActionBar NotBoringActionBar教你怎么作出炫酷的ActionBar. 英文教 ...
- Android 无线 ADB 懒人打法:WiFiADB 调试
0. 开言 其实做为安卓开发者,插着手机调试是很麻烦的.
- css自动转rem,css之px自动转rem—“懒人”必备
作为一名前端开发,尤其是在做移动端适配时,rem是我们经常用到的单位,它的好处大家可以自行搜索,网上已经有很多了. 但是我们再将设计稿上的px转换成rem时,得手动的去计算,这是一个很耗时.费力的过程 ...
- MvvmLazy Android懒人框架
MvvmLazy Android懒人框架(kotlin版) 目前,android流行的MVC.MVP模式的开发框架很多,然而一款基于MVVM模式开发框架却很少. 个人搜寻了市面上大量的开源框架,秉承减 ...
- 【原创】窥视懒人的秘密---android下拉刷新开启手势的新纪元
小飒的成长史原创作品:窥视懒人的秘密---android下拉刷新开启手势的新纪元转载请注明出处 **************************************************** ...
- android懒人笔记
摘自大神Trinea 一.ListView android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView.ViewPager.WebView.Expa ...
- 懒人必备!只需一行代码,就能导入所有的Python库
今天给大家介绍一个懒人Python库--Pyforest. 使用一行代码,就能导入所有的Python库(本地已经安装的). GitHub地址:https://github.com/8080labs/p ...
- Android 拍摄(横\竖屏)视频的懒人之路
想一想,我们聊过AudioReord,AudioTrack,MediaPlayer,那多媒体四大金刚,就剩下了MediaRecorder了(SoundPool?我这里信号不好···).其实MediaR ...
最新文章
- 学习 jQuery UI
- C#中怎样将数组的顺序打乱随机排序
- List集合中两种遍历方式
- Qt文档阅读笔记-qmake入门指南
- 查漏补缺:2020年搞定SpringCloud面试(含答案和思维导图)
- Linux内核协议栈- 创建socket:__sock_create函数调用关系
- 关于printk显示问题(转)
- 【python VS Code】调用自定义模块 ModuleNotFoundError: No module named XXX
- 利用canvas的getImageData()方法制作《在线取色器》
- Java 培训 MySQL 体系构架、存储引擎和索引结构
- java pdfbox2 中文乱码_使用PdfBox实现pdf转图片,解决中文方块乱码等问题
- clang 中英文帮助手册
- Codeforces Gym 2015 ACM Arabella Collegiate Programming Contest
- 学生管理系统报错合集
- 【BZOJ1455】罗马游戏(左偏树)
- java中Boolean和boolean的区别
- 如何查询期刊的SCI分区
- 【随手记】共振峰的特性、与音高pitch
- Linux常用命令 -- lsblk(简单易学)
- 基于javaweb的图书馆借阅管理系统(java+springboot+bootstrap+html+mysql)