转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/125547535
本文出自【赵彦军的博客】

文章目录

  • core-ktx
    • View
    • ViewGroup
    • TextView
    • SharedPreferences
    • URI
    • ObjectAnimator
    • Context
  • collection-ktx
    • map
    • set
  • activity-ktx
    • ViewModel 使用
  • fragment-ktx
    • ViewModel 使用
  • lifecycle-ktx
    • lifecycleScope

core-ktx

Android KTX 是包含在 Android Jetpack 及其他 Android 库中的一组 Kotlin 扩展程序。KTX 扩展程序可以为 Jetpack、Android 平台及其他 API 提供简洁的惯用 Kotlin 代码。

简单来说 , ktx 就是:不增加任何新功能,只是对原有功能进行扩展,来达到简化使用的目的。

官方地址:https://developer.android.google.cn/kotlin/ktx

maven版本号:https://mvnrepository.com/artifact/androidx.core/core-ktx

添加依赖:

implementation 'androidx.core:core-ktx:1.8.0'

View

view.isGone = true
view.isVisible = false
view.updateLayoutParams<FrameLayout.LayoutParams> {width = 100
}
view.marginTop
view.marginBottom
view.marginStart
view.marginEndview.doOnAttach { }
view.doOnDetach { }
view.setPadding(100)
view.postDelayed(100){ }
val bitmap = view.drawToBitmap(Bitmap.Config.ARGB_8888)
view.allViews

ViewGroup

viewGroup.allViews
viewGroup.children

TextView

text.doBeforeTextChanged { text, start, count, after -> }
text.doOnTextChanged { text, start, before, count -> }
text.doAfterTextChanged { }
text.addTextChangedListener { }

SharedPreferences

val sp = getSharedPreferences("file_name", MODE_PRIVATE)
sp.edit(commit = false) {putString("key", "2")
}

URI

val uri = "123".toUri()
uri.toFile()

ObjectAnimator

val objectAnimator = ObjectAnimator.ofFloat(text, "translationX", -200f, 800f)objectAnimator.doOnStart {}
objectAnimator.doOnPause {}
objectAnimator.doOnEnd {}
objectAnimator.doOnRepeat {}
objectAnimator.doOnResume {}objectAnimator.duration = 3000
objectAnimator.startDelay = 100
objectAnimator.start()

Context

//常规
val windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager//ktx
val windowManagerKT = getSystemService<WindowManager>()

collection-ktx

依赖:

implementation "androidx.collection:collection-ktx:1.2.0"

版本号查询:https://mvnrepository.com/artifact/androidx.collection/collection-ktx

map

val map = arrayMapOf<String,String>()
map.put("key","")

set

val map = arraySetOf<String>()
map.add("123")

activity-ktx

依赖:

implementation 'androidx.activity:activity-ktx:1.5.0'

版本号查询:https://mvnrepository.com/artifact/androidx.activity/activity-ktx

ViewModel 使用

val viewModel by viewModels<MyViewModel>()

fragment-ktx

依赖:

implementation 'androidx.fragment:fragment-ktx:1.4.1'

版本号查询:https://mvnrepository.com/artifact/androidx.fragment/fragment-ktx

ViewModel 使用

// Get a reference to the ViewModel scoped to this Fragment
val viewModel by viewModels<MyViewModel>()// Get a reference to the ViewModel scoped to its Activity
val viewModel by activityViewModels<MyViewModel>()

lifecycle-ktx

依赖:

implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.0'

版本号查询:https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-runtime-ktx

lifecycleScope

Activity

class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)lifecycleScope.launch {  }}
}

Fragment

class MyF : Fragment() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)lifecycleScope.launch { }}
}

自定义 View

class MyView(context: Context?, attrs: AttributeSet?) : View(context, attrs) {init {findViewTreeLifecycleOwner()?.lifecycleScope?.launch {}}
}

Android ktx使用相关推荐

  1. 【翻译】ANDROID KTX – 使用Kotlin进行Android开发

    原文地址:ANDROID KTX – ANDROID DEVELOPMENT WITH KOTLIN [正在翻译中] 介绍 Android KTX is an open source library ...

  2. Android KTX简介

    Android KTX简介 Android KTX简介 介绍 主要功能 字符串转为URI SharedPreferences Path View的onPreDraw监听 代码接入 原理介绍 Exten ...

  3. Android KTX依赖库

    Android KTX 是包含在 Android Jetpack 及其他 Android 库中的一组 Kotlin 扩展程序.KTX 扩展程序可以为 Jetpack.Android 平台及其他 API ...

  4. Android KTX举例

    早在今年的1月份,就有报道称谷歌2018年I/O大会将于5月8日至5月10日在加利福尼亚山景城的海岸线露天剧场举行.近日,谷歌公布了本次开发者大会的具体日程安排.在具体细节上,本次开发者大会将围绕An ...

  5. Android Kotlin开发之Android KTX

    Android KTX |Android Jetpack 的一部分. Android KTX 是包含在 Android Jetpack 及其他 Android 库中的一组 Kotlin 扩展程序.KT ...

  6. Google发布Android KTX预览版

    前天,Google 发布了 Android KTX 预览版,Android KTX 是一组扩展程序,它能使 Android 上的 Kotlin 代码更简洁,从而提高开发者的编程体验. 大家知道,Goo ...

  7. Android KTX与Kotlin Android Extensions

    Android KTX Android KTX是Google官方推荐的一套便利的Android API扩展函数库.因还处于beta阶段,相关API并不丰富,但既然是出自JakeWharton大神之手, ...

  8. 隆重推出:Android KTX 预览版让 Kotlin 代码更精简

    最近逛官网发现Android KTX ,Android KTX 是一套扩展插件.它能帮助开发者更为简洁.通顺和优雅地使用 Kotlin 语言开发 Android 应用.目前版本0.2,Google 表 ...

  9. Android KTX

    Android KTX 是包含在 Android Jetpack 及其他 Android 库中的一组 Kotlin 扩展程序.KTX 扩展程序可以为 Jetpack.Android 平台及其他 API ...

最新文章

  1. 今晚20:00 | 港科大郑光廷院士详解人工视觉技术发展及应用
  2. 人脸识别不只是隐私问题 信息泄露面临更大安全隐患
  3. UpdatePanel AsyncPostBackTrigger PostBackTrigger 区别
  4. shell高级(一)
  5. 微服务架构Spring Cloud和Dubbo 还有EDAS
  6. 用node搭一个静态服务
  7. 信息系统项目管理师考试条件/时间/拿证/价值汇总
  8. tcpip c语言程序设计,TCP 服务端和客户端程序设计(C)
  9. 你不是一个人在战斗!
  10. centos7下安装mysql5.6_CentOS7安装后MySQL5.6如何配置MySQL5.6呢?
  11. 零起点学习Linux系列培训视频-寒冰作品
  12. 前端开发【WEUI框架】移动端H5页面开发
  13. 中国象棋游戏设计与实现
  14. ones/测试工程师面试
  15. logogo.exe威金变种病毒
  16. linux kernel 报错:FATAL: kernel too old
  17. 微信小程序——登录/注册页面的实现
  18. 【数学建模】十:MATLAB CUMCM真题求解实例一:数据型
  19. 脑机接口全球Top20实验室信息与概括(有空更新)
  20. 线程通信和进程通信区别(线程进程区别)

热门文章

  1. 如何远程控制Android手机,为所欲为?
  2. 微信公众号开发之成为开发者模式
  3. Java注解和反射,springboot2精髓百度云
  4. 计算机可以不用电脑编程吗,围棋也能学编程?不用电脑就能玩的编程玩具!
  5. 北斗七星数(幂问题)
  6. 智能车环岛浅析(电磁+摄像头)
  7. 华为ENSP AP+AP三层组网及AP间的漫游实验
  8. win10 你不能访问此共享文件夹,因为你组织的安全策略...
  9. 新闻丨“爆款“企业级区块链云服务平台专家评审 智链ChainNova为何深藏不露
  10. mysql关键字 exists 与 in