Added some utilty extensions and classes that can be used in any project to reduce the amount of code needed to do some tasks and to not re-engineer them again. I've used them in a lot of projects so hope they will be useful for future devs!
There is a CustomTypeFaceSpan that allows to set a custom font to parts of a text.
Added a Fragment.collectOnLifeCycle(...) extension to reduce the boiler plate code and annoying indentation when collecting flows from a fragment. (It can be easily adapted to activities)
Added a ProgressBar.progressTo(...) extension to animate progress updates in one line with ease and good support for older android versions.
Added a TextView.setClickableKeyword(...) extension to add clickable functions to words or prhases inside a Textview, allowing to also change their color, font (for example, to bold the keyword), and underline. It recycles the LinkMovementMethod if the TextView already have it.
Added a TextView.setColoredKeyword(...) to change the color of a word or prhase to a Textview.
These two last functions uses the getTextAsSpannable() private extension to avoid creating unuseful spannables.
Description
Preview
CustomTypeFaceSpan
that allows to set a custom font to parts of a text.Fragment.collectOnLifeCycle(...)
extension to reduce the boiler plate code and annoying indentation when collecting flows from a fragment. (It can be easily adapted to activities)ProgressBar.progressTo(...)
extension to animate progress updates in one line with ease and good support for older android versions.TextView.setClickableKeyword(...)
extension to add clickable functions to words or prhases inside a Textview, allowing to also change their color, font (for example, to bold the keyword), and underline. It recycles the LinkMovementMethod if the TextView already have it.TextView.setColoredKeyword(...)
to change the color of a word or prhase to a Textview. These two last functions uses thegetTextAsSpannable()
private extension to avoid creating unuseful spannables.