学习笔记-----ButterKnife

  1. ButterKnife是一个专注于Android系统的View注入框架。
  2. ButterKnife.bind(this); ≈ 一切findViewById()。
  3. Fragment、Adapter中同样适用,ButterKnife.bind(this,view);
  4. 属性必须是一个常量。
  5. Fragment中需要在onDestroyView()中调用unbind()。
  6. zelezny插件
    • 右键目标View;
    • Generate;
    • Generate ButterKnife Injections;
    • 选择绑定。
  7. 绑定注解
    • @BindView—->绑定一个view;id为一个view 变量
    • @BindViews —-> 绑定多个view;id为一个view的list变量
    • @BindArray—-> 绑定string里面array数组;@BindArray(R.array.city ) String[] citys ;
    • @BindBitmap—->绑定图片资源为Bitmap;@BindBitmap( R.mipmap.wifi ) Bitmap bitmap;
    • @BindBool —->绑定boolean值
    • @BindColor —->绑定color;@BindColor(R.color.colorAccent) int black;
    • @BindDimen —->绑定Dimen;@BindDimen(R.dimen.borth_width) int mBorderWidth;
    • @BindDrawable —-> 绑定Drawable;@BindDrawable(R.drawable.test_pic) Drawable mTestPic;
    • @BindFloat —->绑定float
    • @BindInt —->绑定int
    • @BindString —->绑定一个String id为一个String变量;@BindString( R.string.app_name ) String meg;
  8. 事件注解
    • @OnClick—->点击事件
    • @OnCheckedChanged —->选中,取消选中
    • @OnEditorAction —->软键盘的功能键
    • @OnFocusChange —->焦点改变
    • @OnItemClick item—->被点击(注意这里有坑,如果item里面有Button等这些有点击的控件事件的,需要设置这些控件属性focusable为false)
    • @OnItemLongClick item—->长按(返回真可以拦截onItemClick)
    • @OnItemSelected —->item被选择事件
    • @OnLongClick —->长按事件
    • @OnPageChange —->页面改变事件
    • @OnTextChanged —->EditText里面的文本变化事件
    • @OnTouch —->触摸事件
    • @Optional —->选择性注入,如果当前对象不存在,就会抛出一个异常,为了压制这个异常,可以在变量或者方法上加入一下注解,让注入变成选择性的,如果目标View存在,则注入, 不存在,则什么事情都不做

资料参考:

Android Butterknife(黄油刀) 使用方法总结
github地址

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Omni-Notes是一款开源的笔记应用程序,它使用Java语言编写,采用了Material Design风格。以下是Omni-Notes的代码分析: 1. 数据库 在Omni-Notes中,使用了SQLite作为数据库。数据库的实现在`com.github.omni.notes.db`包中。其中,`DatabaseHelper`类是SQLiteOpenHelper的子类,用于创建和更新数据库。`NotesDao`和`AttachmentsDao`类是访问数据库的接口,用于插入、更新、删除和查询数据。 2. 笔记 Omni-Notes中的笔记类是`Note`,它包含了笔记的标题、内容、创建时间、修改时间、颜色、提醒时间、是否归档、是否固定、是否被删除等属性。笔记的操作在`com.github.omni.notes.notes`包中实现,例如创建笔记、更新笔记、删除笔记、查询笔记等。 3. 图片和附件 Omni-Notes支持添加图片和附件到笔记中。图片和附件的操作在`com.github.omni.notes.attachments`包中实现,例如添加图片、添加附件、删除图片、删除附件等。Omni-Notes使用了开源库Glide来加载和显示图片。 4. UI界面 Omni-Notes的UI界面使用了Material Design风格,其中包括了笔记列表、笔记编辑、提醒设置、归档笔记等界面。UI界面的实现在`com.github.omni.notes.ui`包中,使用了开源库ButterKnife来进行View注入。 5. 其他 Omni-Notes还使用了一些开源库,例如RxJava、Dagger2、EventBus等。它还支持备份、恢复、同步等功能。整个应用程序的代码规范良好,结构清晰,易于阅读和维护。 以上是对Omni-Notes代码的简要分析,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值