更新日志
这里记录了
BetterAndroid
的版本更新历史。
特别注意
我们只会对最新的依赖进行维护,若你正在使用过时的依赖则代表你自愿放弃一切维护的可能性。
ui-component
最新
1.0.5 | 2024.03.08- 移除了所有扩展方法
kt
文件的Factory
后缀 - 移除了上一个版本中已作废的文件
- 修复
CommonAdapterBuilder
中的onItemViewsClick
、onItemViewsLongClick
返回的下标和条目位置错误问题 - 调整适配器中添加的条目记录对象为
LinkedHashSet
以防止重复添加 - 开放
RecyclerAdapterBuilder
中的DEFAULT_VIEW_TYPE
- 适配器中新增
onBindItemId
方法,可自定义getItemId
的行为 - 适配器中现在允许无回调直接使用
onBindViews
绑定条目布局 RecyclerAdapterBuilder
中新增onBindHeaderView
、onBindFooterView
方法- 在
OnBackPressedCallback
中调用trigger
方法后若未移除则将重新启用此回调事件
过旧
1.0.4 | 2024.01.02SystemBarsController
已完全迁移到 Window Insets API,请参考文档开始使用新用法- 重构了
SystemBarsController
并修改了初始化方法,请参考文档使用新的方式开始使用 - Window Insets 已从系统栏中完全分离为
WindowInsetsWrapper
、InsetsWrapper
、InsetsFactory
- 作废了全部有关系统栏中的 Window Insets 相关用法,现在请开始使用全新的 Window Insets API
- 重构了
BackPressedController
并对接到BackPressedDispatcher
,请参考文档开始使用新用法 AppViewsFragment
新增使用构造方法传入layoutResId
的装载布局方式- 更名
RecyclerCosmeticMacker
为RecyclerCosmetic
并对相关功能进行了泛型处理 - 开放了
RecyclerView
的预置装饰器,现在你可以手动创建它们 - 重构了大量有关适配器的功能,现在你可以使用每个适配器的同名方法手动进行创建 (
BaseAdapter
为CommonAdapter
) - 重构了通知相关功能,请参考文档开始使用新用法
- 进行了一些其它功能的更名和修改
过旧
1.0.3 | 2023.12.03SystemBarsController
的init
方法新增defaultPaddings
参数,可以配置初始化时是否自动添加对应的系统栏边距- 在
SystemBarsController
中使用show
或hide
方法时将自动判断是否已经添加系统栏边距来决定是否添加对应的边距 - 新增
AppComponentActivity
,继承于ComponentActivity
,可适用于 Jetpack Compose,无需设置 AppCompat 主题 - 使用
AppBindingActivity
、AppViewsActivity
、AppComponentActivity
时会自动将添加的布局背景颜色填充到父布局
过旧
1.0.2 | 2023.11.24- 重构
SystemBarsController
中的 System Insets 功能修复在 Compose View 上无法计算布局最大尺寸问题 SystemBarsController
中新增SystemInsets.Paddings
和setBaseBackgroundResource
、isVisible
功能- 作废了
SystemBarsView
,请开始使用新的方式自定义 System Insets 功能 - 新增
View.applySystemInsets
、View.appendSystemInsets
、View.removeSystemInsets
方法
过旧
1.0.1 | 2023.11.18- 修复
SystemBarsController
中存在的装载异常捕获问题
过旧
1.0.0 | 2023.11.02- 首个版本提交至 Maven
ui-extension
最新
1.0.4 | 2024.05.05- 整合
Fragment
扩展中的进入、退出动画方法参数 - 移除默认的
Fragment
扩展中的过渡动画,并删除相关资源文件 ViewBinding
扩展中新增Fragment.viewBinding
方法- 修复
ViewBinding
扩展中viewBinding
装载的布局不会自动缓存的问题 - 修复
ViewBinding
扩展中inflate
方法遇到<merge>
和<include>
类型布局不能正确装载的问题 - 调整
ViewBinding
扩展中inflate
方法遇到<merge>
和<include>
类型布局将忽略attachToParent
参数 - 移除旧版
ViewBinding
扩展中已弃用的全部方法
过旧
1.0.3 | 2024.03.08- 移除了所有扩展方法
kt
文件的Factory
后缀 - 移除了上一个版本中已作废的文件
ViewFactory
的ViewLayoutParams
方法新增支持AbsListView.LayoutParams
类型ViewFactory
中新增updateCompoundDrawables
、updateCompoundDrawablesWithIntrinsicBounds
方法ViewFactory
中新增parent
、parentOrNull
方法ViewFactory
中新增walkToRoot
、walkThroughChildren
、indexOfInParent
方法ViewFactory
中新增child
、childOrNull
、firstChild
、lastChild
、firstChildOrNull
、lastChildOrNull
方法- 合并
ViewFactory
中的inflate
方法到LayoutInflaterFactory
中并作废原方法 FragmentFactory
中的添加方法新增addToBackStack
参数FragmentFactory
中作废了commitTransaction
方法,现已迁移到官方提供的fragment-ktx
依赖ResourcesFactory
中新增themeResId
方法- 新增全新的
ViewBinding
解决方案并弃用旧版方案
过旧
1.0.2 | 2024.01.02- 移动了部分不规范分类的包名,如遇到报错,请重新对这些调用的方法进行
import
操作 - 修改了针对 Java 调用的相关名称
ViewFactory
中新增可设置横向纵向的updatePadding
方法ViewFactory
中的inflate
方法将自动使用Activity.getLayoutInflater
- 更名
ColorsFactory
为ColorFactory
- 更名
ColorFactory
中的toMixColor
为mixColorOf
ColorFactory
中的部分方法现在将不会再抛出异常- 新增
GradientDrawableCompat
,你可以使用其创建 Android 10 以下版本的GradientDrawable
DrawableFactory
中新增可设置横向纵向的updatePadding
方法- 作废了
DimensionFactory
中的asDp
、asPx
及其用法因为它设计错误,现已对接到新用法toDp
、toPx
- 新增
DisplayDensity
,你可以方便地使用dp
、px
来转换单位 - 作废了
ResourcesFactory
中的getDimensionPx
,请手动使用toPx
进行计算 - 作废了
ResourcesFactory
及ActivityFactory
中的isSpecialWindowingMode
,请不要再使用 ResourcesFactory
中新增getFontCompat
方法- 修复了
FragmentFactory
中的commt
相关功能用法错误 - 大量修改了
FragmentFactory
中的相关用法,现在请参考文档开始使用新用法 BitmapFactory
中新增compressBitmap
方法ToastFactory
中新增Window.toast
方法ToastFactory
中的toast
方法新增allowBackgroud
参数,你现在可以允许在非主线程中弹出Toast
WindowFactory
中的部分方法现在将不会再抛出异常WindowFactory
中新增可使用Float
类型设置屏幕亮度的方法ViewFactory
中使用WindowInsetsController
来显示或隐藏输入法并更名方法为showIme
、hideIme
- 作废了
ViewLayoutParam
类,现在请使用ViewLayoutParams
方法代替 ViewFactory
中的performKeyPressed
新增duration
参数ViewFactory
中新增可设置横向纵向的updateMargin
方法- 对
ActivityFactory
中的方法进行了inline
处理 ActivityFactory
中新增每个startActivityOrElse
方法BimapFactory
中的round
方法新增支持设置每个方向的圆角半径大小
过旧
1.0.1 | 2023.11.18- 修复 ResourcesFactory 中
getColor
与getColorStateList
方法返回值错误问题
过旧
1.0.0 | 2023.11.02- 首个版本提交至 Maven
system-extension
最新
1.0.1 | 2024.01.02- 更名
SystemVersion
中的部分命名不正确方法 SystemVersion
中新增name
属性- 缓存
SystemKind
的检测结果防止重复创建反射对象 - 作废了
SystemKind
中的get
,现在请使用current
属性获取当前系统类型 - 更名
ApplicationFactoy
中的部分命名不正确方法和类 - 移除了
AplicationInfoFlagsWrapper
中的FLAG
前缀 - 修改了
BroadcastFactory
中的相关用法,现在请参考文档使用新用法创建运行时广播 - 修改了
ClipboardFactory
中的相关用法,现在请参考文档使用新用法使用剪贴板功能 - 对
ServiceFactory
中的方法进行了inline
处理 ServiceFactory
中新增startServiceOrElse
、startForegroundServiceOrElse
方法
过旧
1.0.0 | 2023.11.02- 首个版本提交至 Maven
permission-extension
暂未发布。
compose-extension
最新
1.0.2 | 2024.01.16- 新增
HapticFeedback
方法,你可以将其设置到任意的点击、触摸事件上 ComponentPadding
新增None
方法,你可以使用其直接得到ComponentPadding(0.dp)
- 修改了
Dialog
中的onDismissRequest
为强制要求存在,匹配官方提供的foundation
中的用法 - 部分代码风格优化
过旧
1.0.1 | 2024.01.08- 移除部分无用的
@Stable
注解 - 新增
borderOrElse
的同名方法和新用法 - 新增
AdaptiveRow
、AdaptiveColumn
过旧
1.0.0 | 2024.01.02- 首个版本提交至 Maven
compose-multiplatform
最新
0.1.0 | 2024.01.02- 首个版本提交至 Maven