Changelog
The version update history of
BetterAndroidis recorded here.
Pay Attention
We will only maintain the latest dependencies. If you are using outdated dependencies, you voluntarily renounce any possibility of maintenance.
Notice
To avoid translation time consumption, Changelog will use Google Translation from Chinese to English, please refer to the original text for actual reference.
Time zone of version release date: UTC+8
ui-component
1.0.8 | 2025.08.03 latest
- Remove adapter-related functions and merge them into ui-component-adapter
- Migrate Java reflection-related behavior from YukiReflection to KavaRef
1.0.7 | 2025.03.08 stale
- Removed Material dependencies and refactored into corresponding dependencies
- Extensively refactored adapter (Adapter) underlying APIs
- Removed unreasonable Viewinstance loading methods in adapters
- Added ViewHolderDelegateto adapters to support custom layout inflaters
- AdapterPositionnow supports- layoutand- absoluteindexes
- Other known adapter-related issues fixed
1.0.6 | 2025.01.25 stale
- Added onPrepareContentViewmethod inAppBindingActivityto customize operations before loading the layout
- Fixed the issue of out-of-bounds index when the data set is empty in the adapter builder
- Added AdapterPositioninRecyclerAdapterBuilderto implement dynamic index functionality
- Fixed a critical error caused by the parent layout being loaded prematurely when using layout ID in the adapter builder
- Added a custom RecyclerViewlayout manager and modified the default layout manager to correctly handle indexes when custom header and footer layouts are added
- Added wrapperextension method forRecyclerView.Adapterto correctly handle indexes when custom header and footer layouts are added by wrapping instances
- Fixed a critical error where the footer layout was added as a header layout in RecyclerAdapterBuilder
1.0.5 | 2024.03.08 stale
- Removed Factorysuffix from all extension methodktfiles
- Removed deprecated files in the previous version
- Fixed the problem of incorrect subscripts and item positions returned by onItemViewsClickandonItemViewsLongClickinCommonAdapterBuilder
- Adjust the entry record object added in the adapter to LinkedHashSetto prevent repeated additions
- Open DEFAULT_VIEW_TYPEinRecyclerAdapterBuilder
- Added onBindItemIdmethod in the adapter to customize the behavior ofgetItemId
- The adapter now allows direct use of onBindViewsto bind item layouts without callbacks
- Added onBindHeaderViewandonBindFooterViewmethods inRecyclerAdapterBuilder
- If the triggermethod is called inOnBackPressedCallbackand is not removed, the callback event will be re-enabled
1.0.4 | 2024.01.02 stale
- SystemBarsControllerhas been fully migrated to window insets API, please refer to the documentation to start using the new usage
- Reconstructed SystemBarsControllerand modified the initialization method, please refer to the documentation to get started using the new method
- Window insets has been completely separated from the system bars into WindowInsetsWrapper,InsetsWrapper,InsetsFactory
- Deprecated all related usages of window insets in the system bars, please start using the new window insets API now
- Reconstructed BackPressedControllerand connected it toBackPressedDispatcher, please refer to the documentation to start using the new usage
- AppViewsFragmentadds a new loading layout method using the constructor method to pass in- layoutResId
- Renamed RecyclerCosmeticMacckertoRecyclerCosmeticand made related functions generic
- Opened preset decorators for RecyclerView, now you can create them manually
- Refactored a lot of functions related to adapters. Now you can create them manually using the method of the same name for each adapter (BaseAdapterisCommonAdapter)
- Reconstructed notification related functions, please refer to the documentation to start using the new usage
- Renamed and modified some other functions
1.0.3 | 2023.12.03 stale
- The initmethod ofSystemBarsControlleradds thedefaultPaddingsparameter, which can configure whether to automatically add the corresponding system bars padding during initialization
- When using the showorhidemethod inSystemBarsController, it will automatically determine whether the system bars padding has been added to determine whether to add the corresponding padding
- Added AppComponentActivity, inherited fromComponentActivity, applicable to Jetpack Compose without setting AppCompat theme
- When using AppBindingActivity,AppViewsActivity,AppComponentActivity, the added layout background color will be automatically filled into the parent layout
1.0.2 | 2023.11.24 stale
- Refactor the System Insets function in SystemBarsControllerto fix the problem that the maximum layout size cannot be calculated on Compose View
- Added SystemInsets.PaddingsandsetBaseBackgroundResource,isVisiblefunctions toSystemBarsController
- SystemBarsViewis obsolete, please start using the new way to customize the System Insets function
- Added View.applySystemInsets,View.appendSystemInsets,View.removeSystemInsetsmethods
1.0.1 | 2023.11.18 stale
- Fix the loading exception catching problem in SystemBarsController
1.0.0 | 2023.11.02 stale
- The first version is submitted to Maven
ui-component-adapter
1.0.0 | 2025.08.03 latest
- The first version is submitted to Maven
ui-extension
1.0.7 | 2025.08.03 latest
- Remove the Adapterrelated extension and merge it into ui-component-adapter
- Migrate Java reflection-related behavior from YukiReflection to KavaRef
- Resourcesadjustment in the extension- isUiInNightModethe underlying logic is connected to the- isNightModeActivemethod
- obtainStyledAttributes- Resourcesextension is now recommended to migrate to Jetpack's- withStyledAttributes
- Viewextension adds- updateMarginsRelativemethod
- The zoomBitmapextension is invalid. It is now recommended to migrate to Jetpack'sscalemethod
- Added backgroundColorparameter toroundin theBitmapextension
- compress- Bitmapextension, please use the- shrinkmethod instead
1.0.6 | 2025.03.04 stale
- Adjusted the default behavior of the inflatemethod andattachToParentparameter in theLayoutInflaterextension
- Corrected the updateMarginmethod in theViewextension toupdateMarginsand added thesetMarginsmethod
- Completely removed the old ViewLayoutParamsclass, now please use theViewLayoutParamsmethod instead
- Fixed the logic related to ViewLayoutParams, now it can create any object based onViewGroup.LayoutParams
- Overloaded the ViewLayoutParamsmethod to support directly passing in thelpClassparameter
1.0.5 | 2025.01.25 stale
- Fixed the issue where the updateTextmethod in theTextViewextension could cause an out-of-bounds cursor index after overriding thesetTextmethod
- Modified the setDigitsmethod in theTextViewextension to read theinputTypeparameter from theTextViewitself by default
- Modified the updateTypefacemethod in theTextViewextension to set thetfparameter tonullby default to prevent setting unexpected font styles
- Added textToStringandhintToStringmethods in theTextViewextension
- Fixed the issue where Toastmight not pop up in non-main threads in theToastextension
- Added a generic parentFragmentmethod in theFragmentextension
- Added an optionsparameter to thestartActivitymethod in theActivityextension
- Added LifecycleOwnerextension
- Added Coroutinescoroutine-related extensions
- Added setIntervalOnClickListenermethod in theViewextension
- Added non-generic implementations of child,childOrNull,firstChild,firstChildOrNull,lastChild,lastChildOrNullmethods in theViewextension
- Corrected the method name isThemeAttrsIdsValueEqualstoareThemeAttrsIdsValueEqualsinResources
- Added a large number of extension methods for TypedArrayin theResourcesextension
- ⚠️ Breaking Change, extensively refactored methods in the Fragmentextension and separatedFragmentTransactionmethods, migration may require effort
- Added FileDescriptor.decodeToBitmapandFileDescriptor.decodeToBitmapOrNullmethods in theBitmapextension
- Added RecyclerViewextension
- Added tag,setTag, andanimatemethods in theViewextension
- Added tooltipTextCompatmethod in theViewextension
- The toStringmethod inViewBindingBuildernow returns the full object name held byViewBinding
- Added Adapterextension
1.0.4 | 2024.05.05 stale
- Integrate the parameters of the entry and exit animation methods in the Fragmentextension
- Remove the default transition animation in the Fragmentextension and delete the related resource files
- Added the Fragment.viewBindingmethod in theViewBindingextension
- Fix the problem that the layout inflate by viewBindingin theViewBindingextension will not be automatically cached
- Fix the problem that the inflatemethod in theViewBindingextension cannot be loaded correctly when encountering<merge>and<include>type layouts
- Adjust the inflatemethod in theViewBindingextension to ignore theattachToParentparameter when encountering<merge>and<include>type layouts
- Remove all deprecated methods in the old version of the ViewBindingextension
1.0.3 | 2024.03.08 stale
- Removed Factorysuffix from all extension methodktfiles
- Removed deprecated files in the previous version
- The ViewLayoutParamsmethod ofViewFactorynow supports theAbsListView.LayoutParamstype
- Added updateCompoundDrawablesandupdateCompoundDrawablesWithIntrinsicBoundsmethods inViewFactory
- Added parentandparentOrNullmethods inViewFactory
- Added walkToRoot,walkThroughChildren,indexOfInParentmethods inViewFactory
- Added child,childOrNull,firstChild,lastChild,firstChildOrNull,lastChildOrNullmethods inViewFactory
- Merge the inflatemethod inViewFactoryintoLayoutInflaterFactoryand deprecated the original method
- Added addToBackStackparameter to the add methods inFragmentFactory
- The commitTransactionmethod is deprecated inFragmentFactoryand is now migrate to the officialfragment-ktxdependency
- Added themeResIdmethod inResourcesFactory
- Added new ViewBindingsolution and deprecated the old solution
1.0.2 | 2024.01.02 stale
- Some package names that are not classified according to the standard have been moved, if you encounter an error, please re-import these calling methods
- Modified related names for Java calls
- Added updatePaddingmethod inViewFactorythat can set horizontal and vertical directions
- The inflatemethod inViewFactorywill automatically useActivity.getLayoutInflater
- Renamed ColorsFactorytoColorFactory
- Renamed toMixColorinColorFactorytomixColorOf
- Some methods in ColorFactorywill now no longer throw exceptions
- Added GradientDrawableCompat, you can use it to createGradientDrawablefor versions below Android 10
- Added updatePaddingmethod inDrawableFactorythat can set horizontal and vertical directions
- asDp,- asPxand its usage in- DimensionFactoryare obsolete because of its design error, and are now connected to the new usage- toDp,- toPx
- Added DisplayDensity, you can easily usedp,pxto convert units
- Deprecated getDimensionPxinResourcesFactory, please usetoPxto calculate manually
- Deprecated isSpecialWindowingModeinResourcesFactoryandActivityFactory, please do not use it again
- Added getFontCompatmethod inResourcesFactory
- Fix the usage error of commtrelated functions inFragmentFactory
- A large number of related usages in FragmentFactoryhave been modified, now please refer to the documentation to start using the new usages
- Added compressBitmapmethod inBitmapFactory
- Added Window.toastmethod inToastFactory
- The toastmethod inToastFactoryhas a newallowBackgroudparameter, you can now allowToastto show in non-main threads
- Some methods in WindowFactorywill now no longer throw exceptions
- A new method in WindowFactorycan be used to set the screen brightness using theFloattype
- Use WindowInsetsControllerinViewFactoryto show or hide the input method and rename the methods toshowIme,hideIme
- Deprecated ViewLayoutParamclass, please use theViewLayoutParamsmethod instead
- Added durationparameter toperformKeyPressedinViewFactory
- Added updateMarginmethod inViewFactorythat can set horizontal and vertical directions
- Methods in ActivityFactorywereinlineprocessed
- Added each startActivityOrElsemethod inActivityFactory
- The roundmethod inBimapFactorynow supports setting the corner radius in each direction
1.0.1 | 2023.11.18 stale
- Fix the problem of incorrect return value of getColorandgetColorStateListmethods in ResourcesFactory
1.0.0 | 2023.11.02 stale
- The first version is submitted to Maven
system-extension
1.0.3 | 2025.08.03 latest
- Migrate Java reflection-related behavior from YukiReflection to KavaRef
- SystemVersion- AndroidVersionand added Android 15, 16 and 1-4.3 version constants, and functional adjustments are made at the same time
- SystemKind- RomTypeand make functional adjustments
- Added the optionsparameter of thesendBroadcastmethod to theoptionsextension
1.0.2 | 2025.01.25 stale
- Added BroadcastReceivermethod inBroadcastextension and modified the return value ofregisterReceivermethod to itself
1.0.1 | 2024.01.02 stale
- Renamed some incorrectly named methods in SystemVersion
- Added nameattribute inSystemVersion
- Caching SystemKinddetection results to prevent repeated creation of reflection objects
- Deprecated getinSystemKind, now please use thecurrentproperty to get the current system type.
- Renamed some incorrectly named methods and classes in ApplicationFactoy
- Removed FLAGprefix inAplicationInfoFlagsWrapper
- Modified the related usage in BroadcastFactory, now please refer to the documentation to use the new usage to create runtime broadcasts
- Modified the relevant usage in ClipboardFactory, now please refer to the document to use the new usage to use the clipboard function
- Methods in ServiceFactorywereinlineprocessed
- Added startServiceOrElseandstartForegroundServiceOrElsemethods inServiceFactory
1.0.0 | 2023.11.02 stale
- The first version is submitted to Maven
permission-extension
Not yet released.
compose-extension
1.0.2 | 2024.01.16 latest
- Added HapticFeedbackmethod, you can set it to any click or touch event
- ComponentPaddingadds a- Nonemethod, you can use it to directly get- ComponentPadding(0.dp)
- Modified onDismissRequestinDialogto make it mandatory to exist, matching the usage in the officialfoundation
- Optimize some code styles
1.0.1 | 2024.01.08 stale
- Removed some useless @Stableannotations
- Added borderOrElsemethod with the same name and new usage
- Added AdaptiveRow,AdaptiveColumn
1.0.0 | 2024.01.02 stale
- The first version is submitted to Maven
compose-multiplatform
0.1.0 | 2024.01.02 latest
- The first version is submitted to Maven
