JCenter

android

implementation 'com.ayvytr:ktx:3.0.0'

androidx

implementation 'com.ayvytr:ktx-androidx:3.0.0'

ChangeLog

3.0.0

增加View.onClick扩展方法:防止重复点击,或者响应多次点击事件
增加EditText.textChange扩展方法,afterTextChange后间隔一段时间后执行action,可设置text为空时是否触发action,延迟搜索的场景特别有用。相当于RxBinding中TextView.textChanges()
增加ActivityStack.finishExceptTop()
增加Context.getConnectivityManager,network判断网络是否连接等方法
其他代码优化,注释修改
2.5.4
修改InputMethodManager以application context获取实例
增加Fragment和Activity setActivityTitle() 以解决直接调用Activity.setTitle()无效的问题(比如使用了Navigation时)
2.5.3
修改dp,sp,px转换功能,摆脱依赖Context调用,提供Int,Float扩展属性进行dp,sp,px转换,且统一返回Int类型的扩展属性:.dp, .sp, .dp2px, sp2px, px2dp, px2sp
2.5.1
增加ActivityStack,可以实现打开和关闭指定Activity,关闭所有Activity,关闭除指定Activity外所有Activity,终止进程等功能.
2.5.0
增加Spanner工具类,为TextView提供简单易用的SpannableString相关操作
2.4.3
精简工具类 增加Fragment getStringArray等方法
2.4.1
BaseTextWatcher
-ChineseFilter

  • EmailFilter
  • EmojiFilter
  • PasswordFilter

包含内容以及用法

## View最新新增方法

//点击监听:默认是单击事件,防止重复点击时长间隔:millisecondInterval,默认500ms。可修改doActionAfterTimes的值响应多击事件
view.onClick(doActionAfterTimes=1, millisecondInterval=500){//点击action
}//文本变化监听:延迟timeout毫秒触发action,默认timeout=300ms,默认ignoreEmpty=true,空字符串不触发action
editText.textChange(timeout=300, ignoreEmpty = true){//搜索action
}

network.kt

getConnectivityManager
isNetworkConnected
isWifiConnected
isMobileDataConnected

dp.kt Float,Int的dp,sp相关扩展方法

Int.dp
Int.sp
Float.dp
Float.sp
Int.dp2px
Float.dp2px
Int.sp2px
Float.sp2px
Int.px2dp
Float.px2dp
Int.px2sp
Float.px2sp

ActivityStack

registerCallback()
unregisterCallback()
getRunningActivityCount()
isForeground()
getCurrentActivity()
finish()
finishCurrent()
finishAll()
finishAllExcept()
start()
startAndFinishOthers()
finishExceptTop()
forceClose()

Spanner SpannableString操作工具类

bold
italic
normal
boldItalic
font
strikethrough
underline
backgroundColor
backgroundColorRes
textColorRes
textColor
pressedBackgroundColor
pressedBackgroundRes
onClick
onLongClick

Clipboard.kt 剪贴板操作常用方法

val clipboardManager = getClipboardManager()
clibboardManager.getText2()
clibboardManager.setText2()
clibboardManager.getUri()
clibboardManager.setUri()
clibboardManager.getIntent()
clibboardManager.setIntent()

Context.kt 最少代码搞定加载布局,各种便利方法都有提供

Context.getStatusBarHeight()
Context.inflate(...)
//RecyclerView 子 item加载的方法
Context.inflateRv(...)

Managers.kt Android常用管理类一个方法直接获取,免去类型转换的累赘

context.getAccountManager()
context.getInputMethodManager()
context.getConnectivityManager
...

Res.kt 获取android字符串,drawable等资源

context.getStringArray()
//方法名称最后包含数字2的是和原生SDK中弃用的或者有版本限制的方法区分开来
context.getDrawable2()
context.getColor2()
context.getDrawableArray()
context.getDrawableIdArray()
...

Screen.kt 获取屏幕尺寸,判断横竖屏,切换横竖屏等方法

context.getDisplayMetrics()
context.isLandscape()
context.setLandscape()
context.getScreenWidth()
context.getScreenHeight()

Toast.kt 最简单的toast使用扩展方法,内部共享一个Toast实例

context.toast(...)
context.toastLong(...)
Activity.kt Activity扩展方法
activity.showActionBar
view.show()
view.hide()
view.invisible()
view.isShow()

Bitmap.kt 提供了Bitmap和Drawable相互转化的方法
View.kt View扩展方法

view.show()
view.hide()
view.invisible()
view.isShow()

// 设置EditText文本,并且移动光标到文本末尾 editText.setText2(…)

// 设置EditText文本,并且全选文字
editText.setTextWithSelection(...)

https://shimo.im/docs/TG8PDh9D96WGTT8W

Ktx:简化Android开发的Kotlin库相关推荐

  1. Android开发:kotlin语言实现简易计算器

    Android开发:kotlin语言实现简易计算器 1. 实现效果 2. 主要文件代码: 界面布局:activity_main.xml文件代码 字符定义:string.xml文件代码 逻辑实现:Mai ...

  2. Android开发之动态库调用

    发信人: yangAlbert (蓝), 信区: Android 标  题: Android开发之动态库调用 发信站: 武汉白云黄鹤站 (2011年02月20日23:20:51 星期天) 1.编写并生 ...

  3. Android开发常用开源库

    Android 开发常用开源库 一.网络请求 二.图片加载 三.数据库 四.通讯 五.注解 六.JSON解析 七.性能优化 八.性能优化之布局分析 九.工具类 十.状态栏 十一.扫码库 十二.播放器 ...

  4. Android开发:Kotlin下配置DataBinding

    近日,随着Google召开了Google I/O 2017,Kotlin大火一把.因为Google宣布Kotlin为First-class开发语言作 为一名Kotlin忠实粉丝,高兴地很呀.虽然短 时 ...

  5. Android开发:开源库集合

    开源库大全 目录 抽屉菜单 ListView WebView SwitchButton 按钮 点赞按钮 进度条 TabLayout 图标 下拉刷新 ViewPager 图表(Chart) 菜单(Men ...

  6. Android开发基础——Kotlin简介

    什么是Kotlin Java代码在运行前需要编译生成一种特殊的class文件,然后Java虚拟机会识别并解释这些class文件,而Kotlin作为一种新的编程语言,就是将其代码同样编译生成为这样的cl ...

  7. 58APP引入Kotlin进行Android开发,kotlin高阶函数斐波那契

    kotlin代码可与java代码放到相同目录,但是放到一起回比较混乱,为了将kotlin与java代码隔离新建一个kotlin目录,并且sourceSets做以下修改 java.srcDirs = [ ...

  8. 用于 Android 开发的 Kotlin 与 Java

    Android 应用程序已成为我们日常生活中不可或缺的一部分:例如,许多企业使用 Android 应用程序与客户交流.然而,为 Android 开发选择最佳编程语言可能是一项艰巨的任务. 在 Kotl ...

  9. 记录———Android开发常用依赖库

    在Android开发当中使用正确的依赖库可以达到快速开发,减少开发成本,这里记录一下本人开发当中常用的依赖库. 组件视图绑定依赖--ButterKnife(强烈推荐) ButterKnife是一个专注 ...

最新文章

  1. 收藏 | 多目标跟踪(MOT)入门
  2. IT行业老程序员的经验之谈:爬虫学到什么程度可以找到工作?
  3. LINQ TO SQL和Entity Framework 的关系 你了解多少?
  4. html 元素换行_超文本标记语言的段落与换行显示!
  5. GC Roots 是什么?哪些对象可以作为 GC Root
  6. flume学习(二):flume将log4j日志数据写入到hdfs
  7. 基于HT for Web矢量实现3D叶轮旋转
  8. tp框架 < 5.0.24漏洞
  9. SUMO与各类软件的联合仿真方法
  10. 利用antd进行轻量级表单开发,获取验证码
  11. App加密:常用加密方式和爱加密原理
  12. linux系统软路由软件,Linux软路由配置
  13. bootstrap 动态横向时间轴_jquery纵向时间轴插件_Bootstrap响应两侧时间轴特效代码Timeline...
  14. Python自动化运维 - day9 - 进程与线程
  15. python爬虫之糗事百科
  16. mysql查询高于平均_查询成绩高于平均分的成绩记录。
  17. 想天浏览器:推荐国内主流浏览器TOP10
  18. 计算几何基础——【点积和叉积的用处】
  19. 序列标注的BIO标注体系
  20. 关于pom.xml一直提示Could not transfer artifact(无法搬运)+无法解析maven依赖(更新)的问题,我在学习springboot的过程中遇到的一些问题(持续更新中)

热门文章

  1. pdf怎么转换成excel呢?三种方法快速转换
  2. Java log日志(一):介绍Log4j
  3. ImageMagick 与 JMagick去除水印
  4. RHCE学员心得丨大学生考证转变之路
  5. 资料搜集-JAVA系统的梳理知识5-JAVA基础篇JVM
  6. mysql中的case when then使用
  7. 【教学类-12-06】20221108《连连看竖版6*6(3套题目符号图案,适合小班)》(小班主题《娃娃家》)
  8. 报告(二)用Visual Studio制作简易计算器
  9. SpringCloud Bus 动态刷新遇见的500错误
  10. 2016年,安防大佬们活得都还好吗?