Grab Android Utilities that can help you everyday [part II]

ABHINAV CHAUHAN
2 min readJul 9, 2022
source: https://stock.adobe.com/in/images/businessman-creating-new-futuristic-energy-power-source-3d-rendering/390800499?prev_url=detail

I have introduced some common utilities in [part I] here are are some more that you can use everyday.

I have made them extension function on fragment , you can convert for activity if you want.

Easy Way to show a loader

Most of time I see developers adding a LottieAnimationView in all screen a setting it’s visibility for showing or removing loaders, do not do that because first it is duplicate code everywhere second the loader views always in memory, instead you can load it on demand and release when done.

just say showLoader(yourlayout) loader will be centered in the layout

then just say removeLoader(yourlayout) to remove this loader from memory

Enable and Disable Touch Easily

when showing loader you would not want user to click anything

just say enableTouch() or disableTouch() you can call the former in the showLoader(ViewGroup) and later in the removeLoader(ViewGroup) or in the fragment itself as your wish.

Do not write long animation code just to Translate a View with animation

just say yourView.translate(from,to) will translate with animation.

Do not write long animation code just to scale a view with animation

just say yourView.animateScale(100,200)

Do not hit Api for every character in a search view

you have an app with search feature you want to show results as the user is typing.

ex — user typing shoes, you are hitting api in ontextchanged() so api calls will be for s, sh , sho, shoe , shoes 5 apis calls in total not including when user mistypes and then press back spaces your apis call are ≥ number of letters in the search

Just hit it once by using below utility it will wait 1 second before hitting the api do not hit it for duplicate queries and do not hit for empty string find more details here

Do not write boilerplate for launching Coroutines

when launching a coroutine you are most of time doing lifecyclescope.lauch(Dispatchers.IO) and same for different dispatchers, just giving you a more readable short hand for this.

just say launchIO { // your code} , launchMain{ // your code}

Easily Convert Dp to Px

just day 5.toPx() that’s it

Hide soft keyboard just by calling a function

you have app app with search feature you want to hide keyboard as search begins just say hideSoftKeyboard()

Set a double click listener like a OnClickLisntener

You have an app with double tap like , just say yourimageView.doOnDoubleClick{ } and reuse every where.

thanks have a good day 😊

--

--