Arsildo Murati
11/14/2024, 10:27 PMArsildo Murati
11/14/2024, 10:28 PMLazyColumn {
item {
if (uiState.isLoading) {
CircularProgressIndicator()
}
}
item {
Button(onClick = onCreateClick) {
Text(text = "Normal button")
}
}
item {
TextButton(
onClick = onCreateClick,
colors = ButtonDefaults.buttonColors()
) {
Text(text = "TextButton with defaults of button colors ")
}
}
item {
TextButton(onClick = onCreateClick) {
Text(text = "TextButton")
}
}
}
Stylianos Gakis
11/14/2024, 10:41 PMonCreateClick
between the two buttons?
Also, how is that lambda created? Does it behave the same when you do not pass in a lambda at all?Arsildo Murati
11/14/2024, 10:41 PMArsildo Murati
11/14/2024, 10:42 PMStylianos Gakis
11/14/2024, 10:49 PMArsildo Murati
11/14/2024, 10:51 PMArsildo Murati
11/14/2024, 10:58 PMArsildo Murati
11/14/2024, 10:58 PMArsildo Murati
11/14/2024, 10:58 PMStylianos Gakis
11/14/2024, 11:05 PMArsildo Murati
11/14/2024, 11:05 PMArsildo Murati
11/14/2024, 11:05 PMagp = "8.7.2"
kotlin = "2.1.0-RC"
compose-plugin = "1.7.1"
compose-android = "1.7.5"
ksp = "2.1.0-RC-1.0.27"
androidx-lifecycle = "2.8.4"
androidx-navigation = "2.8.0-alpha10"
kotlinx-serialization-json = "1.7.3"
kotlinx-coroutines = "1.9.0"
kotlinx-datetime = "0.6.0"
koin-bom = "4.0.0"
ktor-bom = "3.0.1"
Arsildo Murati
11/14/2024, 11:05 PMStylianos Gakis
11/14/2024, 11:08 PMArsildo Murati
11/14/2024, 11:08 PMArsildo Murati
11/14/2024, 11:09 PMStylianos Gakis
11/14/2024, 11:12 PMArsildo Murati
11/14/2024, 11:13 PMArsildo Murati
11/14/2024, 11:14 PMArsildo Murati
11/14/2024, 11:14 PMArsildo Murati
11/14/2024, 11:14 PMArsildo Murati
11/14/2024, 11:14 PMStylianos Gakis
11/14/2024, 11:15 PM?: default
https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/[…]androidx/compose/material3/Button.kt;l=144?q=material3.ButtonStylianos Gakis
11/14/2024, 11:16 PMStylianos Gakis
11/14/2024, 11:16 PMobject : MutableInteractionSource {
override val interactions: Flow<Interaction>
get() = emptyFlow()
override suspend fun emit(interaction: Interaction) {
}
override fun tryEmit(interaction: Interaction): Boolean {
return false
}
}
Arsildo Murati
11/14/2024, 11:17 PMBox(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
Column {
val interactionSource = remember { MutableInteractionSource() }
Button(onClick = {}, interactionSource = interactionSource) {
Text("Normal Button")
}
TextButton(onClick = {}, colors = ButtonDefaults.buttonColors()) {
Text("Text Button (Button Defaults)")
}
TextButton(onClick = {}) {
Text("Text Button")
}
}
}
no difference stillArsildo Murati
11/14/2024, 11:21 PMArsildo Murati
11/14/2024, 11:21 PMArsildo Murati
11/14/2024, 11:21 PMStylianos Gakis
11/14/2024, 11:26 PMval interactionSource = remember { MutableInteractionSource() }
Will still have a real interaction source which gives the ripple. I was thinking of using this https://kotlinlang.slack.com/archives/CJLTWPH7S/p1731626195547829?thread_ts=1731623260.278379&cid=CJLTWPH7S so that there's no interactions going through, so hopefully also no ripple. Then I'd check if there are still recompositions happeningArsildo Murati
11/14/2024, 11:31 PMArsildo Murati
11/14/2024, 11:31 PMArsildo Murati
11/14/2024, 11:32 PMArsildo Murati
11/14/2024, 11:33 PMStylianos Gakis
11/14/2024, 11:36 PMLocalIndication
composition local? I think there was some migration to be done sometime recently which may have been done to introduce a more efficient ripple effect?Stylianos Gakis
11/14/2024, 11:36 PMArsildo Murati
11/14/2024, 11:37 PMArsildo Murati
11/14/2024, 11:37 PMArsildo Murati
11/14/2024, 11:37 PMArsildo Murati
11/14/2024, 11:38 PMArsildo Murati
11/14/2024, 11:38 PMStylianos Gakis
11/14/2024, 11:39 PMStylianos Gakis
11/14/2024, 11:39 PMArsildo Murati
11/14/2024, 11:46 PMArsildo Murati
11/14/2024, 11:46 PMArsildo Murati
11/14/2024, 11:46 PMStylianos Gakis
11/14/2024, 11:52 PMArsildo Murati
11/15/2024, 12:13 AMArsildo Murati
11/15/2024, 12:13 AMArsildo Murati
11/15/2024, 12:14 AMshikasd
11/15/2024, 12:49 AM