---
title: "Tag: ui | Shreyas Patil's Blog"
description: "Senior Android Engineer @ Deliveroo. Google Developer Expert for Android. Writing about Android, Kotlin, and AI."
image: "https://blog.shreyaspatil.dev/og.png"
---

# Tag:ui

All the articles with the tag "ui".

# Tag:ui

- [![](https://blog.shreyaspatil.dev/_astro/cover-inside-subcomposelayout-jetpack-composes-most-misunderstood-api.cJKPADTC_1gDsFf.webp)](https://blog.shreyaspatil.dev/inside-subcomposelayout-jetpack-composes-most-misunderstood-api)[## Inside SubcomposeLayout: Jetpack Compose’s Most Misunderstood API](https://blog.shreyaspatil.dev/inside-subcomposelayout-jetpack-composes-most-misunderstood-api)10 Jul, 2026A deep dive into the internals of SubcomposeLayout in Jetpack Compose. Learn how subcomposition actually works, why it breaks the phase rules, and the real node-thrashing cost it carries.
- [![](https://blog.shreyaspatil.dev/_astro/cover-a-simple-key-to-a-better-lazylist-in-jetpack-compose.CPKVZHSX_2vSNOn.webp)](https://blog.shreyaspatil.dev/a-simple-key-to-a-better-lazylist-in-jetpack-compose)[## A Simple key to a Better LazyList in Jetpack Compose](https://blog.shreyaspatil.dev/a-simple-key-to-a-better-lazylist-in-jetpack-compose)8 Oct, 2025Learn how to optimize Jetpack Compose LazyList performance using keys. Understand how keys help reduce recompositions and improve scrolling efficiency.
- [![](https://blog.shreyaspatil.dev/_astro/cover-exploring-pausablecomposition-internals-in-jetpack-compose.DzUbTICL_1r8P8P.webp)](https://blog.shreyaspatil.dev/exploring-pausablecomposition-internals-in-jetpack-compose)[## Exploring PausableComposition internals in Jetpack Compose](https://blog.shreyaspatil.dev/exploring-pausablecomposition-internals-in-jetpack-compose)14 Jul, 2025Explore the internals of PausableComposition in Jetpack Compose. Learn how Compose manages state and effects when a composition is paused or resumed.
- [![](https://blog.shreyaspatil.dev/_astro/cover-deep-dive-into-annotations-in-jetpack-compose.DenxnPOw_ZodImK.webp)](https://blog.shreyaspatil.dev/deep-dive-into-annotations-in-jetpack-compose)[## Deep dive into annotations in Jetpack Compose](https://blog.shreyaspatil.dev/deep-dive-into-annotations-in-jetpack-compose)19 May, 2025An extensive deep dive into annotations in Jetpack Compose. Understand how @Composable, @Stable, @ReadOnlyComposable, and others work under the hood.
- [![](https://blog.shreyaspatil.dev/_astro/cover-benchmark-insights-direct-state-propagation-vs-lambda-based-state-in-jetpack-compose.rII8V07o_1Hqush.webp)](https://blog.shreyaspatil.dev/benchmark-insights-direct-state-propagation-vs-lambda-based-state-in-jetpack-compose)[## Benchmark Insights: Direct State Propagation vs. Lambda-based State in Jetpack Compose](https://blog.shreyaspatil.dev/benchmark-insights-direct-state-propagation-vs-lambda-based-state-in-jetpack-compose)19 Nov, 2024Performance benchmarks of direct state propagation vs. lambda-based state in Jetpack Compose. Learn which approach minimizes recompositions for better UI performance.
- [![](https://blog.shreyaspatil.dev/_astro/cover-skipping-the-invocation-of-intermediate-composables.HfKt_krd_Z2lXtL1.webp)](https://blog.shreyaspatil.dev/skipping-the-invocation-of-intermediate-composables)[## Skipping the invocation of intermediate composables](https://blog.shreyaspatil.dev/skipping-the-invocation-of-intermediate-composables)11 Nov, 2024Learn how Jetpack Compose optimizes UI rendering by skipping intermediate composables. Understand how to design your UI for maximum performance.
- [![](https://blog.shreyaspatil.dev/_astro/cover-effortless-compose-compiler-report-analysis.BD7xTqJw_ZXaPsp.webp)](https://blog.shreyaspatil.dev/effortless-compose-compiler-report-analysis)[## Effortless Compose Compiler report analysis](https://blog.shreyaspatil.dev/effortless-compose-compiler-report-analysis)20 May, 2024A guide to analyzing Jetpack Compose compiler reports easily. Learn how to diagnose stability and skippability of your composables for better performance.
- [![](https://blog.shreyaspatil.dev/_astro/cover-capturing-composable-to-a-bitmap-without-losing-a-state.BUugysfk_Z2tXncG.webp)](https://blog.shreyaspatil.dev/capturing-composable-to-a-bitmap-without-losing-a-state)[## Capturing composable to a bitmap without losing a state](https://blog.shreyaspatil.dev/capturing-composable-to-a-bitmap-without-losing-a-state)20 Mar, 2024Learn how to capture a Jetpack Compose Composable as a Bitmap without losing its current state. A deep dive into capturing high-quality UI screenshots programmatically.
- [![](https://blog.shreyaspatil.dev/_astro/cover-rich-media-input-from-the-keyboard-in-compose.DGIXdtxf_Z2iiinQ.webp)](https://blog.shreyaspatil.dev/rich-media-input-from-the-keyboard-in-compose)[## Rich media input from the keyboard in Compose](https://blog.shreyaspatil.dev/rich-media-input-from-the-keyboard-in-compose)1 Mar, 2024Learn how to handle rich media input (like GIFs and images) from the keyboard in Jetpack Compose, essential for modern chat applications.
- [![](https://blog.shreyaspatil.dev/_astro/cover-solving-the-mystery-of-recompositions-in-composes-lazylist.F-qZjUnS_RprVH.webp)](https://blog.shreyaspatil.dev/solving-the-mystery-of-recompositions-in-composes-lazylist)[## Solving the mystery of recompositions in Compose's LazyList](https://blog.shreyaspatil.dev/solving-the-mystery-of-recompositions-in-composes-lazylist)21 Aug, 2023Debugging recompositions in Jetpack Compose LazyLists. Learn why your list items might be recomposing unnecessarily and how to fix it.
- [![](https://blog.shreyaspatil.dev/_astro/cover-promise-compose-compiler-and-imply-when-youll-change.DaTz17b5_Z6UTXT.webp)](https://blog.shreyaspatil.dev/promise-compose-compiler-and-imply-when-youll-change)[## Promise compose compiler and imply when you'll change 🤞](https://blog.shreyaspatil.dev/promise-compose-compiler-and-imply-when-youll-change)10 Mar, 2022Understand the Compose compiler's stability promises. Learn how @Stable and @Immutable impact recomposition and how to help the compiler optimize your UI.
- [![](https://blog.shreyaspatil.dev/_astro/cover-filtering-and-modifying-text-input-in-jetpack-compose-way.Z7FsqS6H_Z1AvGfq.webp)](https://blog.shreyaspatil.dev/filtering-and-modifying-text-input-in-jetpack-compose-way)[## Filtering and modifying text input in Jetpack Compose way](https://blog.shreyaspatil.dev/filtering-and-modifying-text-input-in-jetpack-compose-way)20 Dec, 2021Learn how to filter and modify user text input in Jetpack Compose. A guide to implementing input constraints and formatting for TextField.
- [![](https://blog.shreyaspatil.dev/_astro/cover-navigating-screens-in-jetpack-compose-devfest-india-2021-mobile-track.CKQkaBeC_1w8KAu.webp)](https://blog.shreyaspatil.dev/navigating-screens-in-jetpack-compose-devfest-india-2021-mobile-track)[## Navigating Screens in Jetpack Compose (DevFest India 2021 - Mobile Track)](https://blog.shreyaspatil.dev/navigating-screens-in-jetpack-compose-devfest-india-2021-mobile-track)26 Oct, 2021Recap and resources from my DevFest India 2021 talk on Navigating Screens in Jetpack Compose. Learn the best practices for Compose navigation.
- [![](https://blog.shreyaspatil.dev/_astro/cover-observing-live-connectivity-status-in-jetpack-compose-way.CNjy1C0J_2qxllN.webp)](https://blog.shreyaspatil.dev/observing-live-connectivity-status-in-jetpack-compose-way)[## Observing Live connectivity status in Jetpack Compose way!](https://blog.shreyaspatil.dev/observing-live-connectivity-status-in-jetpack-compose-way)17 Aug, 2021Learn how to observe live network connectivity status in Jetpack Compose. A reactive approach to handling internet availability in your Android app's UI.
- [![](https://blog.shreyaspatil.dev/_astro/cover-composing-composable-in-the-text-line-with-inlinetextcontent-in-jetpack-compose.B7tFqKcU_HwPvP.webp)](https://blog.shreyaspatil.dev/composing-composable-in-the-text-line-with-inlinetextcontent-in-jetpack-compose)[## Composing composable in the Text line with InlineTextContent in Jetpack Compose](https://blog.shreyaspatil.dev/composing-composable-in-the-text-line-with-inlinetextcontent-in-jetpack-compose)30 Jul, 2021Learn how to use InlineTextContent in Jetpack Compose to embed Composables directly within text lines for rich, interactive text experiences.
- [![](https://blog.shreyaspatil.dev/_astro/cover-implementing-upi-payment-integration-in-android-with-easyupipayment-library-aaf9bea715d9.V4OnLSxm_Z11qvlk.webp)](https://blog.shreyaspatil.dev/implementing-upi-payment-integration-in-android-with-easyupipayment-library-aaf9bea715d9)[## 💳UPI Payment Integration in Android with EasyUpiPayment library📱💸](https://blog.shreyaspatil.dev/implementing-upi-payment-integration-in-android-with-easyupipayment-library-aaf9bea715d9)7 Jun, 2019A quick guide to integrating UPI payments in your Android app using the EasyUpiPayment library for a seamless checkout experience.

```json
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Shreyas Patil's Blog",
  "url": "https://blog.shreyaspatil.dev/",
  "description": "Senior Android Engineer @ Deliveroo. Google Developer Expert for Android. Writing about Android, Kotlin, and AI.",
  "author": {
    "@type": "Person",
    "name": "Shreyas Patil",
    "url": "https://shreyaspatil.dev/"
  }
}
```
