当前位置: 首页 > 工具软件 > ButterKnife > 使用案例 >

解析ButterKnife

谭景福
2023-12-01

ButterKnife从严格意义讲不算是依赖注入框架,它只是专注于 Android系统的View注入框架,并不支持其他方面的注入。它可以减少 大量的findViewById以及setOnClickListener代码,简化代码并提升开发 效率。

1.ButterKnife的注解使用方法
(1)添加依赖库
(2)绑定控件
用注解@BindView绑定控件id

class LoginActivity : AppCompatActivity() {

@InjectView(ID = R.id.userName)
val editText: EditText? = null
@InjectView(ID = R.id.password)
val editText1: EditText? = null
@InjectView(ID = R.id.login)
val button: Button? = null
@InjectView(ID = R.id.newUser)
val text: TextView? = null

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_login)

    ViewUtils.bind(this)
}

(3)绑定资源
可以用注解@BindString、@BindArray、@BindBool、 @BindColor、@BindDimen、@BindDrawable和@BindBitmap。这里我 们拿@BindString、@BindArray和@BindDimen来进行举例。

(4)绑定监听
用@OnClick来对“点击事件”进行监听,同理也可以用 @OnLongClick来对“长按点击事件”进行监听
@OnClick(value = R.id.login)
fun OnClick(){
Toast.makeText(this,“hello”,Toast.LENGTH_SHORT).show()
}

(5)可选绑定 @BindView或者其他的注解操作符,如果不能找到目标资源,则会 引发异常。

3.ButterKnife原理解析
ButterKnife 采用的是编译时注解

 类似资料: