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