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(…)