首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android进阶】kotlin 委托

Kotlin 直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。 类委托 类的委托即一个类中定义的方法实际是调用另一个类的对象的方法来实现的。...import kotlin.reflect.KProperty // 定义包含属性委托的类 class Example { var p: String by Delegate() } // 委托的类...输出结果为: Example@433c675d, 这里委托了 p 属性 Example@433c675d 的 p 属性赋值为 Runoob Example@433c675d, 这里委托了 p 属性 标准委托 Kotlin...在属性赋值后会执行事件的响应器(handler),它有三个参数:被赋值的属性、旧值和新值: import kotlin.properties.Delegates class User { var...翻译规则在每个委托属性的实现的背后,Kotlin 编译器都会生成辅助属性并委托给它。

50620

Getting started with Kotlin on Android

摘要 Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrain设计开发并开源,与Java相比,Kotlin的语法更简洁,更具表达性,而且提供了更多的特性。...两位ThoughtWorks高级咨询师共同为我们分享KotlinAndroid上的运用。 ? Java VS Kotlin 在Java的使用中会遇到很多问题。...在Kotlin里数组默认不是协变的。 ? 对于不可变集合是默认协变,可变集合默认是逆变的。 总结一下 Kotlin提供了高级的语法,例如data、object等。...Kotlin in AndroidAndroid上有一个常见的类叫做viewholder。 ? KotlinAndroid上可以自动把view找出来,不需要手写代码。...Kotlin's Reference 引入Kotlin ? 已知问题 Kotlin与mockito的兼容性。 在Kotlin里的静态代码检查工具还不完善。

70950

Android进阶】Kotlin笔记

Kotlin默认支持委托,不像Java,要么用IDE生成一大堆代码,要么在编译期使用其他动态代理工具生成,Kotlin默认提供了by关键字。...lazy { "HelloWorld" } println(name) } 这一次我们提供了一个lazy方法,Lazy方法会返回我们的委托人LazyDelegate,因为Kotlin...官方就为一些自带的委托封装了方法,可能是Kotlin社区惯用的编码规范,确实,这样好看一些,而且Jetpack Compose中的remember实际上也是这样写的。...Kotlin根本没有静态这一说,Kotlin代替静态的办法一个是object,一个是顶层函数。但这俩都不适用于静态工厂,因为静态工厂经常要访问类中的私有成员。 伴生对象是用来干这些的。...但是,别忘了Kotlin中的命名参数,上面的例子本可以用命名参数更加方便的解决。 class Person constructor( name: String, age: Int?

69220

Android监听键盘状态获取键盘高度的实现方法

前言 Android暂时还没有提供一个合适的API来获取/监听键盘的状态和高度 , 而我们又经常会有这个需求....最近我的一个项目中,在ugc页面需要在键盘顶部,紧贴着键盘显示一个文字提示,当键盘消失时就隐藏. 因此,我需要监听软键盘的打开/关闭 , 以及获取它的高度....这个高度可能就是键盘高度了, 为什么说可能呢?因为还么有考虑到顶部的状态栏和底部的虚拟导航栏. 当然也可能不是键盘. 然后我们根据这个高度和之前已知的键盘状态来判断是否为键盘. 并回调给监听者....我通过LayoutParams给它设置边距 , 只设置了底部边距 , 值为返回的”键盘高度”- 顶部状态栏高度-虚拟导航栏的高度. 得到真实的键盘高度....android.util.DisplayMetrics; import android.view.Display; import android.view.View; import android.view.WindowManager

2.1K10

使用 Kotlin 构建 Android 应用 | Kotlin 迁移指南 (上篇)

Kotlin 构建 Android 应用。...IntelliJ (以及 Android Studio) 完美搭配使用,Android Studio 为 Kotlin 提供了一流的支持,比如,您可通过内置工具来将 Java 代码转换成 Kotlin...复制代码 使用 Kotlin 构建 Android 应用 ?...△ Kotlin 推进的时间表 使用 Kotlin 更快速地编写更棒的 Android 应用,自两年前 Android 平台开始支持使用 Kotlin 语言后,我们一直在努力丰富使用 Kotlin 构建的体验和开发效率的提升...Android KTX 自从两年前 Android 平台开始支持 Kotlin 后,我们一直在努力解决 Kotlin 的兼容性问题并丰富其功能,更进一步为大家带来了许多工具来进一步提高开发效率,比如 Android

1.2K20
领券