This guide shows you how to manage Agentic AI "working memory" using specialized subagents and Hand-Off documents to prevent logic rot. Keep your AI sharp and aligned from the first git init to the final PR.
A short article showing how to add container transform to your app, using the latest APIs from Jetpack Compose.
In this article we learn how to make our apps more visually pleasing by adding shared element transitions between screens.
A short article showcasing how to create a Chips selector for single or multiple choice, with animated border, background and text.
Improve the performance of your Jetpack Compose apps by instructing the compiler what classes and functions it should treat as stable.
State management is one of the most important features of any app. Choosing the right architecture from the get go is important as architectural changes become very expensive once the app has been built. Thefore, making sure the architecture we choose is able to support the app and scale as the...
In this short article we will learn how to use the new anchoredDraggable modifier released with Jetpack Compose Foundation 1.6.0-alpha01 .
In today's article we will learn how to create a custom gradle plug-in that automates the build number on our apps on the CI/CD (Continuous Integration / Continuous Deployment), and how to update the GitHub workflows to leverage it.
In today's article we will learn how to create a ticker board, reminiscent of the boards that used to adorn train stations and airports, and that can still be seen in some of those today
In today’s article we’ll learn how to navigate between screens on a Jetpack Compose app using a solution different from the one suggested by Google in their documentation, while still using the Navigation library from the Android Architecture Components.
In today’s post we will learn how to implement an animated drawer with a couple of different animation effects, what we are after is showcased in the 2 GIFs below, where, as the drawer slides in from the left side, the main content resizes and either moves to the right or slides behind the drawer.
In today’s article we will find out how to implement an Action Bar in Jetpack Compose that can be shared across different screens, while updating to show different content based on which screen is currently active.
In this article we will learn how to implement a reusable composable which we can add to the top app bar in our app’s screens to show relevant menu items.
In this article we will learn how to create a circular carousel, a set of items that the user can spin around
In this short post we will write a simple app that will showcase how to use the Activity Result Contracts in Jetpack Compose. Our app will have 2 buttons, one to pick an image from the gallery, and a second one to take a picture. In both cases, once the image is selected or the picture is taken, it ...
In today’s article we will learn how to create a custom selector that lets users choose one option among several, with a background that animates to highlight the selected option.
In this short article we will learn how to create a custom progress indicator using the Layout composable and the animation tools provided by Jetpack Compose.
In today’s article we will learn how to conditionally navigate to a screen in Jetpack Compose. This is the kind of scenario you might encounter if your app has an onboarding flow, which needs to be shown only once, or a login screen, which the user needs to complete before accessing the app’s ...
With the release of Jetpack Compose 1.2.0-alpha03 we have access to a much requested feature: animations in lazy lists when the collection of items is updated. In this short article we’ll learn how to use this feature.
In today’s article we will learn how to conditionally navigate to a screen in Jetpack Compose. This is the kind of scenario you might encounter if your app has an onboarding flow, which needs to be shown only once, or a login screen, which the user needs to complete before accessing the app’s ...
In this article we will implement a loading button, i.e., a button that replaces its content with a loading indicator to signify to the user that some operation is under way, and when that operation has completed, reverts to its original state.
In this short article we’ll learn how to create a Composable card that rotates (or flips) on its axis, to show content on its back
In this article we will learn how to implement a Circular List in Jetpack Compose. This is basically a list where the items shift horizontally based on their vertical position, as if they were following a circular path .
In this article we will learn how to implement the playback speed selector from Google’s Podcasts app using Jetpack Compose.
One of the principles in Jetpack Compose is to hoist state — that is, to move a composable’s state outside of the composable and push it further up, making the composable stateless. Creating stateless composables results in components that are easier to reuse and test. In this article we’ll see how ...
In this article we’ll learn how to create a custom progress indicator in Jetpack Compose using the Canvas APIs.
In this article we’ll find out how to add biometric authentication to an Android app developed with Jetpack Compose. As not all devices offer biometric authentication, we will also add a PIN fallback in case no biometric options are available, or if the user prefers to use PIN.
In Jetpack Compose composables accept a Modifier that alters the appearance or behaviour of the composable they are applied to. Some of the modifiers, like width, height and padding are common to all composable functions while others can only be applied to specific composables ...
Recent versions of Android offer both Light and Dark themes, which the user can set globally via the device settings. Most apps nowadays follow this setting and change their theme based on the global setting, but it is also good practice to offer users an app option to set the theme regardless of ...