mavenCentral()
implementation 'io.github.ayvytr:ktx-androidx:4.0.2'
3.0.6适配了androidx
- 修改View.onClick() action的view参数没有泛型的问题
- 修改切横竖屏方法setLandscape(),setPortrait()
- 更新compileSdkVersion为30,且修改可空方法/变量问题
- View.onClick() 最后一个参数action增加view参数,方便外部调用
- 增加Activity扩展方法:setStatusBarBgColorRes(), setStatusBarBgColor(), setNavigationBarBgColorRes(), setNavigationBarBgColor(). setLightStatusBar()
- 增加File.toUriCompat,适配android7的FileProvider.getUriForFile.
- 删除所有之前版本标 @Deprecated 的方法
- 修改BaseDialog.isFullWidth为protected
- 更新注释
- 修改BaseDialog full width 无法取消的问题,删除 setFullWidth(),使用 var isFullWidth代替
- 增加bundleOf(), Context.startActivity()
- 修改ActivityStack:
- **isForeground()**适配android12
- **registerCallback()**增加第二个参数observer,回调判断Activity是否前台可见
- 适配:不停的按返回很快关闭多个Activity时,Activity关闭/销毁顺序和正常顺序相反的问题
- 修改**EditText.selectText() @Nullable无效问题
- 修改Spanner
- 修复style报错问题
- 增加了BaseDialog,**.setFullWidth()**解决了MIUI等某些定制系统手机的Dialog宽度很窄的问题
- 修复了ActivityStack.finishExceptTop()死循环问题
- ActivityStack新增了通过类名/类简单名关闭Activity的方法,便于跨模块关闭Activity:finishByName(), finishBySimpleName(), finishAllExceptName(), finishAllExceptSimpleName()
- ActivityStack废弃了
forceClose(),并新增了finishAllAndKillApp()来做替代
- 只支持androidx
- 修改EditText.textChange.handler空指针问题
- 增加DecimalDigitsInputFilter,支持小数位数筛选
-
方法@Deprecated和改名:
文件名 @Deprecated 方法 新方法 Clipboard getText2() getPalinText() Clipboard setText2() setPalinText() Res getDrawable2() getDrawableCompat Res getColor2() getColorCompat Context inflate() - Context inflateRv() - ActivityStack killSelf() killApp() EditText setText2 selectText -
代码分类和优化(部分方法移动了文件,需要重新导包)
- 增加View.onClick扩展方法:防止重复点击,或者响应多次点击事件
- 增加EditText.textChange扩展方法,afterTextChange后间隔一段时间后执行action,可设置text为空时是否触发action,延迟搜索的场景特别有用。相当于RxBinding中TextView.textChanges()
- 增加ActivityStack.finishExceptTop()
- 增加Context.getConnectivityManager,network判断网络是否连接等方法
- 其他代码优化,注释修改
- 修改InputMethodManager以application context获取实例
- 增加Fragment和Activity setActivityTitle() 以解决直接调用Activity.setTitle()无效的问题(比如使用了Navigation时)
修改dp,sp,px转换功能,摆脱依赖Context调用,提供Int,Float扩展属性进行dp,sp,px转换,且统一返回Int类型的扩展属性:.dp, .sp, .dp2px, sp2px, px2dp, px2sp
增加ActivityStack,可以实现打开和关闭指定Activity,关闭所有Activity,关闭除指定Activity外所有Activity,终止进程等功能.
增加Spanner工具类,为TextView提供简单易用的SpannableString相关操作
精简工具类 增加Fragment getStringArray等方法
- BaseTextWatcher
- ChineseFilter
- EmailFilter
- EmojiFilter
- PasswordFilter
//新增方法
setStatusBarBgColorRes(),
setStatusBarBgColor(),
setNavigationBarBgColorRes(),
setNavigationBarBgColor().
setLightStatusBar()
//之前版本的方法
showActionBar
hideActionBar
getContext
fullscreen(boolean)
...
toUriCompat() //适配android7的 [FileProvider.getUriForFile]
//点击监听:默认是单击事件,防止重复点击时长间隔:millisecondInterval,默认500ms。可修改doActionAfterTimes的值响应多击事件
view.onClick(doActionAfterTimes=1, millisecondInterval=500){
//点击action
}
//文本变化监听:延迟timeout毫秒触发action,默认timeout=300ms,默认ignoreEmpty=true,空字符串不触发action
editText.textChange(timeout=300, ignoreEmpty = true){
//搜索action
}
getConnectivityManager
isNetworkConnected
isWifiConnected
isMobileDataConnected
Int.dp
Int.sp
Float.dp
Float.sp
Int.dp2px
Float.dp2px
Int.sp2px
Float.sp2px
Int.px2dp
Float.px2dp
Int.px2sp
Float.px2sp
registerCallback()
unregisterCallback()
getRunningActivityCount()
isForeground()
getCurrentActivity()
finish()
finishCurrent()
finishAll()
finishAllExcept()
start()
startAndFinishOthers()
finishExceptTop()
forceClose()
//@since 3.1.0
finishByName()
finishBySimpleName()
finishAllExceptName()
finishAllExceptSimpleName()
bold
italic
normal
boldItalic
font
strikethrough
underline
backgroundColor
backgroundColorRes
textColorRes
textColor
pressedBackgroundColor
pressedBackgroundRes
onClick
onLongClick
val clipboardManager = getClipboardManager()
clibboardManager.setPlainText()
clibboardManager.getPlainText()
clibboardManager.getUri()
clibboardManager.setUri()
clibboardManager.getIntent()
clibboardManager.setIntent()
Context.getStatusBarHeight()
Context.inflate(...)
//RecyclerView 子 item加载的方法
Context.inflateRv(...)
context.getAccountManager()
context.getInputMethodManager()
context.getConnectivityManager
...
context.getStringArray()
//方法名称最后包含数字2的是和原生SDK中弃用的或者有版本限制的方法区分开来
context.getDrawableCompat()
context.getColorCompat()
context.getDrawableArray()
context.getDrawableIdArray()
...
context.getDisplayMetrics()
context.isLandscape()
context.setLandscape()
context.getScreenWidth()
context.getScreenHeight()
context.toast(...)
context.toastLong(...)
view.show()
view.hide()
view.invisible()
view.isShow()
// 设置EditText文本,并且移动光标到文本末尾,第二个参数默认为false
editText.selectText(text, false)
// 设置EditText文本,并且全选文字
editText.selectText(text, true)