Ktx简化Android开发的Kotlin库

3次阅读

共计 3000 个字符,预计需要花费 8 分钟才能阅读完成。

JCenter


android

implementation ‘com.ayvytr:ktx:3.0.0’

androidx

implementation ‘com.ayvytr:ktx-androidx:3.0.0’

ChangeLog 3.0.0


  1. 减少 View.onClick 扩大办法:避免反复点击,或者响应屡次点击事件
  2. 减少 EditText.textChange 扩大办法,afterTextChange 后距离一段时间后执行 action,可设置 text 为空时是否触发 action,提早搜寻的场景特地有用。相当于 RxBinding 中 TextView.textChanges()
  3. 减少 ActivityStack.finishExceptTop()
  4. 减少 Context.getConnectivityManager,network 判断网络是否连贯等办法
  5. 其余代码优化,正文批改

2.5.4

  1. 批改 InputMethodManager 以 application context 获取实例
  2. 减少 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

  1. ChineseFilter
  2. EmailFilter
  3. EmojiFilter
  4. 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(…)

正文完
 0