Я пытаюсь добавить кнопку, которая открывает поиск и клавиатуру при нажатии. FirstState "src =" https://i.sstatic.net/vopuf.png "/>
Но я получаю ошибку
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() }
< /code>
Я пришел к выводу, что это связано с анимированнойвисностью, потому что без этого все работает. То есть, когда и кнопка, и поиск изначально видны, все работает. Для этого < /p>
my code: < /p>
topBar = {
TopAppBar(
actions = {
// val keyboardController = LocalSoftwareKeyboardController.current //val focusRequester = remember { FocusRequester() }
var visibleSearchBar by remember {
mutableStateOf(false)
}
var visiblecurrentSearch by remember {
mutableStateOf(true)
}
val state = remember { mutableStateOf(TextFieldValue("")) }
AnimatedVisibility(visible = visiblecurrentSearch) {
IconButton(onClick = {
visibleSearchBar = true
visiblecurrentSearch = false
//focusRequester.requestFocus()
//keyboardController?.show()
}) {
Icon(painter = painterResource(id = R.drawable.ic_baseline_search_24),
contentDescription = "search")
}
}
AnimatedVisibility(visible = visibleSearchBar) {
TextField(
value = state.value,
onValueChange = { value ->
state.value = value
},
enabled = true,
shape = RoundedCornerShape(25.dp),
modifier = Modifier
//.focusRequester(focusRequester)
.fillMaxWidth()
.padding(end = 10.dp)
.scale(scaleX = 1F, scaleY = 0.9F),
textStyle = TextStyle(color = Color.Black),
placeholder = {
Text(
text = "Search",
fontSize = 14.sp,
)
},
keyboardActions = KeyboardActions(
onDone = {
//movie = list
}
),
leadingIcon = {
Icon(
Icons.Default.Search,
contentDescription = "",
modifier = Modifier
.size(20.dp)
)
},
trailingIcon = {
IconButton(
onClick = {
state.value =
TextFieldValue("") =
visibleSearchBar = false
visiblecurrentSearch = true
}
) {
Icon(
Icons.Default.Close,
contentDescription = "",
modifier = Modifier
.size(20.dp)
)
}
},
singleLine = true,
colors = TextFieldDefaults.textFieldColors(
textColor = Color.Black,
cursorColor = Color.Black,
leadingIconColor = Color.Black,
trailingIconColor = Color.Black,
focusedIndicatorColor = Color.Transparent,
unfocusedIndicatorColor = Color.Transparent,
disabledIndicatorColor = Color.Black
)
)
}
},
title = {
},
navigationIcon = {
IconButton(onClick = {}) {
Icon(painter = painterResource(id = R.drawable.ic_baseline_menu_24),
contentDescription = "menu")
}
},
backgroundColor = Color.White,
contentColor = Color.Black,
elevation = 3.dp
)
}
Подробнее здесь: https://stackoverflow.com/questions/741 ... nitialized
Поиск, FocusRequester не инициализируется ⇐ Android
Форум для тех, кто программирует под Android
1740081182
Anonymous
Я пытаюсь добавить кнопку, которая открывает поиск и клавиатуру при нажатии. FirstState "src =" https://i.sstatic.net/vopuf.png "/>
Но я получаю ошибку
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() }
< /code>
Я пришел к выводу, что это связано с анимированнойвисностью, потому что без этого все работает. То есть, когда и кнопка, и поиск изначально видны, все работает. Для этого < /p>
my code: < /p>
topBar = {
TopAppBar(
actions = {
// val keyboardController = LocalSoftwareKeyboardController.current //val focusRequester = remember { FocusRequester() }
var visibleSearchBar by remember {
mutableStateOf(false)
}
var visiblecurrentSearch by remember {
mutableStateOf(true)
}
val state = remember { mutableStateOf(TextFieldValue("")) }
AnimatedVisibility(visible = visiblecurrentSearch) {
IconButton(onClick = {
visibleSearchBar = true
visiblecurrentSearch = false
//focusRequester.requestFocus()
//keyboardController?.show()
}) {
Icon(painter = painterResource(id = R.drawable.ic_baseline_search_24),
contentDescription = "search")
}
}
AnimatedVisibility(visible = visibleSearchBar) {
TextField(
value = state.value,
onValueChange = { value ->
state.value = value
},
enabled = true,
shape = RoundedCornerShape(25.dp),
modifier = Modifier
//.focusRequester(focusRequester)
.fillMaxWidth()
.padding(end = 10.dp)
.scale(scaleX = 1F, scaleY = 0.9F),
textStyle = TextStyle(color = Color.Black),
placeholder = {
Text(
text = "Search",
fontSize = 14.sp,
)
},
keyboardActions = KeyboardActions(
onDone = {
//movie = list
}
),
leadingIcon = {
Icon(
Icons.Default.Search,
contentDescription = "",
modifier = Modifier
.size(20.dp)
)
},
trailingIcon = {
IconButton(
onClick = {
state.value =
TextFieldValue("") =
visibleSearchBar = false
visiblecurrentSearch = true
}
) {
Icon(
Icons.Default.Close,
contentDescription = "",
modifier = Modifier
.size(20.dp)
)
}
},
singleLine = true,
colors = TextFieldDefaults.textFieldColors(
textColor = Color.Black,
cursorColor = Color.Black,
leadingIconColor = Color.Black,
trailingIconColor = Color.Black,
focusedIndicatorColor = Color.Transparent,
unfocusedIndicatorColor = Color.Transparent,
disabledIndicatorColor = Color.Black
)
)
}
},
title = {
},
navigationIcon = {
IconButton(onClick = {}) {
Icon(painter = painterResource(id = R.drawable.ic_baseline_menu_24),
contentDescription = "menu")
}
},
backgroundColor = Color.White,
contentColor = Color.Black,
elevation = 3.dp
)
}
Подробнее здесь: [url]https://stackoverflow.com/questions/74184416/search-focusrequester-is-not-initialized[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия