Ktx:簡化Android開發的Kotlin庫

點我跳轉到GitHubandroid

JCenter

androidgit

implementation 'com.ayvytr:ktx:3.0.0'
複製代碼

androidxgithub

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, px2spbash

2.5.1

增長ActivityStack,能夠實現打開和關閉指定Activity,關閉全部Activity,關閉除指定Activity外全部Activity,終止進程等功能.網絡

2.5.0

增長Spanner工具類,爲TextView提供簡單易用的SpannableString相關操做app

2.4.3

精簡工具類 增長Fragment getStringArray等方法ide

2.4.1

  1. BaseTextWatcher
  2. ChineseFilter
  3. EmailFilter
  4. EmojiFilter
  5. 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
activity.hideActionBar
activity.getContext
activity.fullscreen(boolean)
...
複製代碼

Bitmap.kt 提供了Bitmap和Drawable相互轉化的方法

View.kt View擴展方法

view.show()
view.hide()
view.invisible()
view.isShow()
複製代碼


// 設置EditText文本,而且移動光標到文本末尾 editText.setText2(...)工具

// 設置EditText文本,而且全選文字
editText.setTextWithSelection(...)
複製代碼
相關文章
相關標籤/搜索