Я попытался сделать простую анимацию, используя JetPack Compose, что, когда кнопка нажимает текст. Кнопка будет перемещаться из-за левого направления с вращением, а текст будет видим, идущий справа налево. Но возникает небольшая проблема, когда я нажимаю кнопку на кнопку, чтобы запустить анимацию, моя кнопка движется к другому значению смещения (перед запуском анимации) внезапно, а затем она делает анимацию и наоборот для закрытия анимации.
Я не знаю, почему этот внезапный сдвиг кнопки приходит во время анимации. Я смиренно прошу помочь мне с этим.@Composable
fun AnimateWithFadingIn(modifier: Modifier = Modifier){
var isShowing by remember { mutableStateOf(false) }
val iconOffset by animateDpAsState(
targetValue = if (isShowing) 80.dp else (0).dp,
label = "",
animationSpec = tween(durationMillis = 1000)
)
val rotationAngle by animateFloatAsState(
targetValue = if (isShowing) 360f else 0f,
animationSpec = tween(durationMillis = 1000)
)
Column(
modifier = modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Row {
AnimatedVisibility(
visible = isShowing,
enter = slideInHorizontally(initialOffsetX = {it},animationSpec = tween(durationMillis = 1000)) + fadeIn(animationSpec = tween(durationMillis = 1000)),
exit = slideOutHorizontally (targetOffsetX = {it/2},animationSpec = tween(durationMillis = 1000)) + fadeOut(animationSpec = tween(durationMillis = 1000))
) {
Text("Text is showing")
}
if (isShowing){
Spacer(modifier = Modifier.width(8.dp))
}
IconButton(modifier = Modifier.size(40.dp).offset(x = iconOffset).rotate(degrees = rotationAngle), onClick = {isShowing = !isShowing}) {
Icon(imageVector = Icons.Default.Clear, contentDescription = null)
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... s-expected
Почему анимация не работает, как ожидалось? ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1738832474
Anonymous
Я попытался сделать простую анимацию, используя JetPack Compose, что, когда кнопка нажимает текст. Кнопка будет перемещаться из-за левого направления с вращением, а текст будет видим, идущий справа налево. Но возникает небольшая проблема, когда я нажимаю кнопку на кнопку, чтобы запустить анимацию, моя кнопка движется к другому значению смещения (перед запуском анимации) внезапно, а затем она делает анимацию и наоборот для закрытия анимации.
Я не знаю, почему этот внезапный сдвиг кнопки приходит во время анимации. Я смиренно прошу помочь мне с этим.@Composable
fun AnimateWithFadingIn(modifier: Modifier = Modifier){
var isShowing by remember { mutableStateOf(false) }
val iconOffset by animateDpAsState(
targetValue = if (isShowing) 80.dp else (0).dp,
label = "",
animationSpec = tween(durationMillis = 1000)
)
val rotationAngle by animateFloatAsState(
targetValue = if (isShowing) 360f else 0f,
animationSpec = tween(durationMillis = 1000)
)
Column(
modifier = modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Row {
AnimatedVisibility(
visible = isShowing,
enter = slideInHorizontally(initialOffsetX = {it},animationSpec = tween(durationMillis = 1000)) + fadeIn(animationSpec = tween(durationMillis = 1000)),
exit = slideOutHorizontally (targetOffsetX = {it/2},animationSpec = tween(durationMillis = 1000)) + fadeOut(animationSpec = tween(durationMillis = 1000))
) {
Text("Text is showing")
}
if (isShowing){
Spacer(modifier = Modifier.width(8.dp))
}
IconButton(modifier = Modifier.size(40.dp).offset(x = iconOffset).rotate(degrees = rotationAngle), onClick = {isShowing = !isShowing}) {
Icon(imageVector = Icons.Default.Clear, contentDescription = null)
}
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79416397/why-animation-is-not-working-as-expected[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия