https://kotlinlang.org logo
Join Slack
Powered by
# compose
  • a

    alexhelder

    11/13/2025, 1:07 AM
    How can one get this snapping behavior on horizontal scroll (LazyRow?) as shown in this video, like
    LinearSnapHelper
    for
    RecyclerView
    (solved)
    carousel.mp4
    • 1
    • 2
  • a

    Alex Styl

    11/13/2025, 4:04 AM
    Random observation. If compose resources don't get generated for any reason, try
    ./gradlew clean
    and then a rebuild from the IDE. Worked everytime so far PS: It seems like the dependency >has< to be on common
    👍 1
    k
    t
    • 3
    • 12
  • a

    Alex Styl

    11/13/2025, 5:27 AM
    When do compose resources generated? It's been hit or miss here and spent way too much time with fonts not being generated Having issues with the web target
    r
    • 2
    • 2
  • a

    Alex Styl

    11/13/2025, 11:52 AM
    How is compose resources a dependency and not a plugin? can dependencies generate code?
    k
    k
    • 3
    • 4
  • e

    eygraber

    11/14/2025, 5:45 PM
    Does
    SnapshotStateList
    need to be guarded against concurrent modifications? e.g.
    Copy code
    remember {
       derivedStateOf {
        // paging.items is a SnapshotStateList
        paging.items.count { ... }  
      }
    }
    should I be copying the list before iterating over it in the
    derivedStateOf
    , or do the semantics of the snapshot system prevent that view of it from being modified concurrently?
    s
    z
    • 3
    • 4
  • a

    alexhelder

    11/15/2025, 8:15 AM
    Can anyone recommend an implementation of
    TopAppBar
    that simply takes a single Composable (no slots for nav, title, subtitle, actions, etc) and has support for nested scrolling?
    s
    a
    • 3
    • 2
  • b

    bod

    11/15/2025, 6:28 PM
    👋 Trying to use a custom font in a Compose Multiplatform (JVM desktop + Android) project. I have a module
    :ui
    which has the
    jvm()
    target, in it I'm calling
    val myFontFamily = FontFamily(Font(Res.font.myFont, FontWeight.Normal))
    and use it. Then I have
    :desktopApp
    and
    :androidApp
    modules that depend on
    :ui
    . On Desktop it's working as expected but on Android I'm getting
    NoClassDefFoundError: Failed resolution of: Lorg/jetbrains/compose/resources/FontResources_skikoKt;
    What am I missing?
    k
    • 2
    • 3
  • j

    Jonas

    11/16/2025, 11:31 AM
    SupportingPaneScaffold - seekBack 🔙 I am on an endeavour to implement predictive in (CMP). As the implementation was doing nothing I tried to call seekBack directly and noticed that it also does nothing. With debugging I realised that the transition property of the SeekableTransitionState is null. Am I missing a crucial setup step? Has anyone observed a similar behaviour?
    • 1
    • 6
  • a

    abdl

    11/17/2025, 7:25 AM
    help, i use this library (https://github.com/Chaintech-Network/ComposeMultiplatformScreenCapture) in my app for screenshot functionality, but when i want to publish to playstore, there error:
    The following content provider authorities are in use by other developers: network.chaintech.cmp.screenshot.fileprovider
    . How to resolve it, any solution?
    r
    c
    c
    • 4
    • 6
  • u

    ursus

    11/17/2025, 2:40 PM
    How would you draw a
    AnnotationString
    span on a angle? Rotation doesn't seem to be available on
    SpanStyle
    .. can I have custom rendering for a given span? (Or maybe some other technique?)
    a
    z
    j
    • 4
    • 4
  • p

    Phodal

    11/17/2025, 4:39 PM
    Hi, I build a website with Compose Kotlin WASMJS: https://unit-mesh.github.io/auto-dev/ . For now, the UTF8 not working , for example emoji, Chinese/Korean/Japanese not working. How to support this case?
    w
    • 2
    • 4
  • v

    Vivek Modi

    11/19/2025, 7:41 AM
    Does compose hot reload work in a normal android project? I mean without compose multiplatform?
    🚫 2
    f
    e
    • 3
    • 2
  • l

    Lukasz Kalnik

    11/19/2025, 10:52 AM
    How can I draw a custom curved border around an element? I need to implement something like this 🧵
    m
    r
    • 3
    • 10
  • t

    Tepes Lucian Victor

    11/19/2025, 1:27 PM
    any news or possible workarounds for animating
    ContentScale
    when performing shared element transitions? Official docs still lists it as a current limitation https://developer.android.com/develop/ui/compose/animation/shared-elements#current-limitations
  • k

    Konstantin Klassen

    11/19/2025, 2:51 PM
    Heya, with Nav3, when I scale out a screen as the exit transition, a white background appears around the edges of the disappearing screen. I can't find a handle to change the color. I thought it might be the background of the NavDisplay or higher the hierarchy but no luck
    i
    • 2
    • 3
  • j

    Jonathan

    11/20/2025, 12:42 AM
    Does anyone know of a good way to consume WindowInsets as scrollable content (BottomSheetScaffold) is scrolled? Effectively, I would like to apply
    WindowInset.statusBar
    insets to the top edge of my bottom sheet as it’s expanded so that it’s always beneath the status bar but when the sheet isn’t close to the status bar I’d like to ignore it. This section of the
    WindowInsets
    guide leads me to believe this type of complex content inset/padding interaction is possible. I just don’t know where to start.
    c
    • 2
    • 1
  • j

    juliocbcotta

    11/20/2025, 2:01 PM
    I am using Intefaces for my models that I pass to compose, how to make compose consider those interfaces models @Immutable/Stable without annotating it, a gradle flag?
    b
    • 2
    • 1
  • e

    Ernestas

    11/20/2025, 2:08 PM
    Does anyone have any ideas why the keyboard is flickering when using an
    ExpandedFullScreenSearchBar
    ?
    Screen_recording_20251120_160649.mp4
    • 1
    • 1
  • l

    Luca

    11/20/2025, 6:07 PM
    Do cmp resources work in
    @Preview
    in commonMain? None of my resources will load
  • m

    Marcin Wisniowski

    11/20/2025, 6:43 PM
    There seems to be a memory leak in
    AnimatedContent
    .
    AnimatedContent.kt
    has
    internal val targetSizeMap = mutableScatterMapOf<S, State<IntSize>>()
    which grows indefinitely as animations happen and is not cleared. I did a heap dump of my application and the
    targetSizeMap
    takes 420MB of RAM (after many thousands animations). Is this a known issue? Am I potentially doing something wrong?
    r
    t
    • 3
    • 6
  • t

    Thierry Kh

    11/20/2025, 7:20 PM
    Hello. Is it possible to preview a screen that uses NavDisplay ?
  • s

    Stylianos Gakis

    11/21/2025, 11:46 AM
    When using
    implementation(compose.preview)
    or
    implementation(compose.uiTooling)
    from the
    org.jetbrains.compose
    gradle plugin, I am getting
    Unresolved platforms: [iosArm64, iosSimulatorArm64, iosX64]
    Do iOS targets not exist for those dependencies? Do
    androidx.compose.ui.tooling.preview.PreviewParameter
    etc implementations exist for common code for iOS as well or just not at all? Perhaps I am trying to bring in the wrong dependency somehow? A bit hard to find more info on this from googling around
    • 1
    • 1
  • s

    Stylianos Gakis

    11/21/2025, 4:01 PM
    Migrating an android gradle project to a KMP one, and I realize that I was using:
    Copy code
    android {
     defaultConfig {
      vectorDrawables.useSupportLibrary = true
     }
    }
    But I can't find the way to apply the same when doing:
    Copy code
    kotlin {
     androidLibrary {
      defaultConfig... <-- unresolved
     }
    }
    Is there a way for me to configure this here?
    • 1
    • 1
  • v

    Vivek Modi

    11/21/2025, 9:17 PM
    Hi team, I have a question about Navigation 3 interop. In our current setup, we still have some screens implemented as fragments and a few flows that rely on activity destinations. Nav3 seems to support only Compose → Compose navigation, so it doesn’t allow mixing fragment or activity destinations like Nav2 does. Is there a recommended migration path or upcoming support for fragment/activity interop in Nav3? Or is the long-term expectation that apps fully move to Compose before adopting Nav3?
    w
    i
    • 3
    • 10
  • g

    galex

    11/22/2025, 8:15 AM
    Two questions about
    nav3
    now that I started to use it more deeply: 1. There's only one SceneStrategy parameter on
    NavDisplay
    , what if I want to use multiple ones on different screens, meaning sometimes I need dialogs, sometimes bottom sheets, sometimes list-detail, etc... 2. Using the bottom sheet recipe in addition to the ResultEventBus recipe, how can I be notified that the bottom sheet is dismissed so I can trigger a Result on the screen that opened it? Thank you in advance!
    j
    i
    k
    • 4
    • 9
  • w

    wisha khn

    11/22/2025, 11:37 PM
    Hey everyone! Does anyone have experience working with Huawei Maps and drawing polygons in Jetpack Compose?
  • e

    Ekaterina Volodko [JB]

    11/24/2025, 2:20 PM
    Hi everyone. We’ll appreciate your feedback.
    cmp 3
    K 1
    kodee loving 1
    K 1
    💯 1
  • g

    Guillaume B

    11/25/2025, 9:13 AM
    Like @galex, I'm deeply diving into
    nav3
    and I have a question regarding the scene strategy. Do we have a way for the composables to be aware of the strategy ? Meaning I have a composable that is marked as a detail pane, and I want to modify a bit the ui when that composable is displayed within the scene (vs when it's displayed full screen, not as a detail pane)
    👀 1
    i
    s
    a
    • 4
    • 10
  • e

    eygraber

    11/25/2025, 9:58 AM
    I didn't notice it in the recipe repo, but is there a way to get a NavEntry scoped SavedStateHandle in nav3?
    i
    g
    • 3
    • 11
  • s

    Stylianos Gakis

    11/25/2025, 1:23 PM
    Trying to configure
    org.jetbrains.compose.resources.ResourcesExtension
    from my gradle convention plugin, but I can't seem to find the way to do this at the right time. When doing:
    Copy code
    project.pluginManager.apply("org.jetbrains.compose")
    project.pluginManager.withPlugin("org.jetbrains.compose") {
      // 1
      project.configure<org.jetbrains.compose.resources.ResourcesExtension> {
        // 2
      }
    }
    I can see that I can get in //1 but not in //2. I see that the resources extension is created after the ComposePlugin is applied https://github.com/JetBrains/compose-multiplatform/blob/1b40a6db80c9f97859ac56c088[…]/compose/src/main/kotlin/org/jetbrains/compose/ComposePlugin.kt so I figured it should be available. When using the generated DSL and doing this outside of my convention plugin (
    compose.resources { ... }
    ) this works fine, so I am sure there is something I am doing wrong regarding the ordering of things. Or it's something else I don't understand.
    ✅ 1
    • 1
    • 1