Sign in

I value ideas that can touch and simplify daily lives. I am passionate about mobile technologies, UI and UX trends.

As you can see in the title we will implement LazyGrid item animation using Jetpack Compose’s transition animation. Here is our LazyVerticalGrid:

When calculating delay and easing we need to access the visible items on the screen. Since LazyVerticalGrid is basically just a LazyColumn of Rows, we will be dealing with Rows instead of items.

Here is how we animate scale and alpha using transition animation:

Here is the result:


In the classic XML world, we have RadioButton.
RadioButton’s parents are CompoundButton->Button->TextViewand it implements Checkable. That means RadioButton is just a TextView with some button and checkable capability.

<RadioGroup
android:layout_width="match_parent"
android:layout_height="match_parent">
<
RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Radio Button 1" />
<
RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Radio Button 2" />
</
RadioGroup>

When we are testing the layout above we can access to RadioButton easily with Espresso: onView(withText("Radio Button 1"))

In Compose world, RadioButton is just a canvas that has drawing and selectable capability. You can see the preview of the RadioButton:


Image from Unsplash

Imagine having a modular Android app. Different teams working on different modules without even touching another module. We will make the CI pipeline faster for those team members. In the below images, you are seeing a modular app structure and relations between modules.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store