Как отключить эффект отскока, если кнопка не активирована?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как отключить эффект отскока, если кнопка не активирована?

Сообщение Anonymous »

Я отключил волновой эффект во всем проекте с помощью CompositionLocalProvider.

Код: Выделить всё

@Composable
fun SpotifyTheme(
content: @Composable () -> Unit,
) {
val colorScheme = colorScheme

CompositionLocalProvider(LocalRippleConfiguration provides null) {
MaterialTheme(
colorScheme = colorScheme,
typography = SpotifyTypography,
content = content,
)
}
}
Теперь вместо этого я использую эффект отскока, которого добивается приведенный ниже код.

Код: Выделить всё

fun Modifier.bounceClickEffect(enabled: Boolean) =
composed {
var isPressed by remember { mutableStateOf(false) }

val scale by animateFloatAsState(
if (isPressed) 0.98f else 1f,
label = "",
)

this
.graphicsLayer {
scaleX = scale
scaleY = scale
}
.pointerInput(isPressed) {
awaitPointerEventScope {
isPressed =
if (isPressed) {
waitForUpOrCancellation()
false
} else {
awaitFirstDown(false)
true
}

}
}
}
Это предыдущий вопрос, объясняющий, как добиться эффекта отскока. Масштабирование анимации кнопок в Jetpack Compose
Проблема, например, в том, что если кнопка отключена из-за пустого текстового поля, возникает эффект, которого я не хочу. Я хочу отключить этот эффект, если кнопка не активирована.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ot-enabled
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»