У меня есть текстовое поле, которое отображается, когда пользователь нажимает на кнопку поиска, и видимость анимирована. Проблема заключается в том, что когда я прошу фокус, чтобы показать клавиатуру, композиция не закончена, поэтому FocusRequester не была инициализирована, вызывая сбой. Одним из возможных решений было бы добавить задержку с таким же количеством времени, что и анимация, но это не безопасно, так как может быть гоночное состояние, а авария произошла в редких случаях. Любая другая альтернатива? < /P>
@Composable
fun MyComponent() {
var expanded by rememberSaveable { mutableStateOf(false) }
val focusRequester = remember { FocusRequester() }
AnimatedVisibility(
visible = expanded,
enter = expandHorizontally(animationSpec = tween(300)) + fadeIn(),
exit = shrinkHorizontally(animationSpec = tween(300)) + fadeOut()
) {
TextField(
modifier = Modifier.focusRequester(focusRequester),
...)
}
IconButton(onClick = {
expanded = !expanded
focusRequester.requestFocus()
}) {
MyImage(
icon = R.drawable.ic_search,
modifier = Modifier.size(56.dp)
)
}
}
< /code>
java.lang.IllegalStateException:
FocusRequester is not initialized. Here are some possible fixes:
1. Remember the FocusRequester: val focusRequester = remember { FocusRequester() }
2. Did you forget to add a Modifier.focusRequester() ?
3. Are you attempting to request focus during composition? Focus requests should be made in response to some event. Eg Modifier.clickable { focusRequester.requestFocus() }
Подробнее здесь: https://stackoverflow.com/questions/797 ... questfocus
Textfield с Animatedvisibility должна показывать клавиатуру (requestFocus) ⇐ Android
Форум для тех, кто программирует под Android
1753867821
Anonymous
У меня есть текстовое поле, которое отображается, когда пользователь нажимает на кнопку поиска, и видимость анимирована. Проблема заключается в том, что когда я прошу фокус, чтобы показать клавиатуру, композиция не закончена, поэтому FocusRequester не была инициализирована, вызывая сбой. Одним из возможных решений было бы добавить задержку с таким же количеством времени, что и анимация, но это не безопасно, так как может быть гоночное состояние, а авария произошла в редких случаях. Любая другая альтернатива? < /P>
@Composable
fun MyComponent() {
var expanded by rememberSaveable { mutableStateOf(false) }
val focusRequester = remember { FocusRequester() }
AnimatedVisibility(
visible = expanded,
enter = expandHorizontally(animationSpec = tween(300)) + fadeIn(),
exit = shrinkHorizontally(animationSpec = tween(300)) + fadeOut()
) {
TextField(
modifier = Modifier.focusRequester(focusRequester),
...)
}
IconButton(onClick = {
expanded = !expanded
focusRequester.requestFocus()
}) {
MyImage(
icon = R.drawable.ic_search,
modifier = Modifier.size(56.dp)
)
}
}
< /code>
java.lang.IllegalStateException:
FocusRequester is not initialized. Here are some possible fixes:
1. Remember the FocusRequester: val focusRequester = remember { FocusRequester() }
2. Did you forget to add a Modifier.focusRequester() ?
3. Are you attempting to request focus during composition? Focus requests should be made in response to some event. Eg Modifier.clickable { focusRequester.requestFocus() }
Подробнее здесь: [url]https://stackoverflow.com/questions/79704720/textfield-with-animatedvisibility-should-show-keyboard-requestfocus[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия