Kotlin 中Butterknife 和Android(安卓)中使用butterknife
16lz
2022-01-04
因为不太熟悉kotlin 所以就想写一个混编的Android 的测试
既有kotlin 又有android 的原生
目的:想了解下Kotlin ,和使用下Kotin中传说中的语法糖,别以后遇到大神写项目用kotlin 我一脸懵逼
看下配置 :
1.Android 中使用ButterKnife
1.1 在Module的build.gradle中配置
//注解implementation 'com.jakewharton:butterknife:8.8.1'annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
1.2在Project(项目)的build.gradle中配置
//插件 classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'
2.Kotlin中使用ButterKnife
2.1在Module的build.gradle中配置
apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'
implementation 'com.jakewharton:butterknife:8.8.1'kapt "com.jakewharton:butterknife-compiler:8.8.1"api 'com.mapzen:on-the-road:0.8.1'
2.2在Project(项目)的build.gradle中配置
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.51"classpath "org.jetbrains.kotlin:kotlin-android-extensions:1.1.51"
3.Kotlin基本使用
3.1基类配置
abstract class Base1Aty : BaseActivity() { var unbinder: Unbinder? = null; override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) unbinder = ButterKnife.bind(this) initView() } protected abstract fun initView() override fun onDestroy() { super.onDestroy() unbinder!!.unbind() }}
3.2控件使用
class KotlinAty : Base1Aty() { //使用ButterKnife查找控件 @BindView(R.id.tv_test) lateinit var textView :TextView override fun initView() { stopProgressDialog() } override fun getLayoutId(): Int { return R.layout.aty_kotlintest } override fun requestData() { startProgressDialog() } /** * Kotlin 支持,高阶函数和Lambda表达式 * 这里如果不熟悉的话,也可以进行百度一下,这里就不做太多是解释了 */ @OnClick(R.id.tv_test) fun onClick(view : View){ when(view.id){ R.id.tv_test ->{ showTost("真没意思就这样玩么") } } }}
更多相关文章
- Android(安卓)实用工具Hierarchy Viewer实战
- Android之使用Android-query框架进行开发(一)
- Android(安卓)网络框架 Retrofit 源码解析
- Android(安卓)推荐 开源项目
- 自己封装的Android(安卓)sqlite-helper.jar包使用方法
- android LocationManager的使用
- 箭头函数的基础使用
- NPM 和webpack 的基础使用
- Python list sort方法的具体使用