在build.gradle中添加 apply plugin: 'kotlin-android-extensions' classpath "org.jetbrains.kotlin:kotlin-android-extensions
image.png kotlin-android-extensions kotlin-android-extensions插件可以直接使用资源,节省findviewbyid(), 不需要添加任何额外代码 setSupportActionBar(toolbarView) .......... } ......... } 添加插件 在Gralde中配置: apply plugin: 'kotlin-android-extensions
kotlin-android-extensions插件可能算得上是我最喜欢的一个Kotlin在Android上的特性了。 ,如何使用ViewBinding来替代kotlin-android-extensions插件。 这可能就要从kotlin-android-extensions插件的实现原理去理解了。 不管我上面分析的这些足不足以成为废弃kotlin-android-extensions插件的理由,总之这已经是事实了。 所以,上面这种写法就是kotlin-android-extensions插件在Adapter当中一种比较典型的误用方式。
文章目录 一、动画效果添加对象 二、kotlin-android-extensions 插件使用步骤 1、配置 kotlin-android-extensions 插件 2、导入视图 3、完整布局文件 4、Activity 完整代码示例 一、动画效果添加对象 ---- kotlin-android-extensions 插件 实现了 视图绑定 功能 , 开发过程中 , 可以不用调用如下形式 : ① 插件视图绑定在导入 kotlinx.android.synthetic.main.activity_main.* 后 , 可以直接使用 组件 ID ; 二、kotlin-android-extensions 插件使用步骤 ---- 1、配置 kotlin-android-extensions 插件 在 Module 下的 build.gradle 中导入 kotlin-android-extensions 插件 ; apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions
自从有了 kotlin-android-extensions,小伙伴们的感觉就是一个字,爽!再也不用什么 findViewById 了,也不用什么反射和注解注入了,吾有奇招,黄油刀们速速退散! 1. 何为 kotlin-android-extensions ? 可是有了 kotlin-android-extensions 之后,我们可以直接在 Activity、 Fragment、 View 当中使用这个 logoutView 了。
kotlin-android-extensions是个好东西,可以帮我们省掉很多需要写findViewById的场景。 Google这新技术迭代跟玩一样啊,有kotlin-android-extensions插件我不用,我就手写,哎,就是玩儿~ 其实,kotlin-android-extensions插件还是有很多问题的 kotlin-android-extensions三宗罪 内存问题 通过反编译kotlin-android-extensions的代码,你就会发现,通过kotlin-android-extensions 当然,ViewBinding也不是银弹,对比kotlin-android-extensions,它也有一些问题: 使用比kotlin-android-extensions复杂 依然有需要手动处理的场景 目前还未找到现有项目从kotlin-android-extensions迁移到ViewBinding的好办法,如果当前的项目大量使用kotlin-android-extensions,那么迁移起来,就是一个巨大的工程
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions kotlinx 这个错误 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions
kotlin_version" } } 4、Module 下的 build.gradle 配置 ---- 在 Module 下的 build.gradle 中 , kotlin-android 是必须配置的 , kotlin-android-extensions kotlin-kapt 也是选择性配置 , 配置使用注解 ; plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-android-extensions Module 下的 build.gradle ---- plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-android-extensions
navController.navigate(R.id.action_fragmentA_to_fragmentB2) } } 如果发现不能自动导入布局文件,大概率是要给app.build添加插件‘kotlin-android-extensions ’ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions ' AndroidStudio4.1以后改成了 plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-android-extensions androidx.navigation.safeargs.kotlin' apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions androidx.navigation.safeargs.kotlin' AS4.1以后: plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-android-extensions
app\build.gradle apply plugin: 'com.android.application'apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'apply androidx.test.espresso:espresso-core:3.2.0'} 开启kotlin的支持 apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'apply
Kotlin Gradle Plugin 在Module-Level的build.gradle中配置使用kotlin-android以及kotlin-android-extensions插件
配置 Android Studio虽然插件中带有kotlin的配置,但需要在build.gradle中配置 apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions build.gradle配置文件 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions
recycler_view.layoutManager = LinearLayoutManager(mContext) } 就上面这一行很简单的代码,居然提示找不到recycler_view,难道是kotlin-android-extensions
中添加如下配置: apply plugin: 'com.android.application' apply plugin: 'kotlin-android' // 添加以下这行 apply plugin: 'kotlin-android-extensions
不需要findviewbyid 最新版 AS build.gradle 中默认引入 apply plugin: 'kotlin-android-extensions' 所以在代码中直接引用布局中的id
Studio支持并不是很好 app的gradle plugins { id("com.android.application") id("kotlin-android") id("kotlin-android-extensions
开发者仅需要在 项目根目录 → app → build.gradle 文件中启用 Gradle 安卓扩展插件即可: apply plugin:'kotlin-android-extensions' 2.
savedInstanceState) setContentView(R.layout.activity_login) //不需要分号 //apply plugin: 'kotlin-android-extensions
//编译kotlin代码 apply plugin: 'kotlin-android' //可选 代码支持通过view id获取对象,不再需要findViewById apply plugin: 'kotlin-android-extensions
build.gradle apply plugin: 'com.android.application' apply plugin: 'kotlin-android'//这里添加 apply plugin: 'kotlin-android-extensions