ritesh
04/08/2022, 8:12 AMritesh
04/08/2022, 8:12 AMBox(
Modifier
.clickable { focusRequester.requestFocus() }
.border(2.dp, color)
// The focusRequester should be added BEFORE the focusable.
.focusRequester(focusRequester)
// The onFocusChanged should be added BEFORE the focusable that is being observed.
.onFocusChanged { color = if (it.isFocused) Green else Black }
.focusable()
){
Text(text = "Box")
}
LaunchedEffect(Unit) {
focusRequester.requestFocus()
}
ritesh
04/08/2022, 8:13 AMval focusRequester = remember { FocusRequester() }
TextField(
value = value,
onValueChange = { value = it },
modifier = Modifier.focusRequester(focusRequester)
)
LaunchedEffect(Unit) {
focusRequester.requestFocus()
}
ritesh
04/08/2022, 8:15 AMBox
needs .focusable
for the focusRequester
to work and TextField
doesn't.
If i give .focusable
to TextFiled and not to the Box, focusRequester doesn't work.f.babic
04/08/2022, 8:17 AMTextField
can be focusable by default, whereas a Box cannot. So requesting focus on an element that can't be focused (Box w/o focusable()
) doesn't work, but requesting it on TextField
, which is focusable()
by default does.ritesh
04/08/2022, 8:21 AMTextField
are focusable
by default, giving .focusable
to it's modifier should not have any effect, as in focusRequester
should have worked irrespective of marking it focusable or not. Not, sure if it makes sense.f.babic
04/08/2022, 8:25 AMritesh
04/08/2022, 8:26 AM