Val Salamakha
06/22/2020, 6:38 AM@Composable
private fun TextInputEventObserver(
onPress: (PxPosition) -> Unit,
onRelease: (PxPosition) -> Unit,
onFocus: () -> Unit,
onBlur: (hasNextClient: Boolean) -> Unit,
focusModifier: FocusModifier,
imeAction: ImeAction,
children: @Composable() (() -> Unit)
) {
val prevState = state { FocusState.NotFocused }
if (focusModifier.focusState == FocusState.Focused
&& prevState.value == FocusState.NotFocused
&& focusModifier.focusDetailedState == FocusDetailedState.Active
) {
onFocus()
}
if (focusModifier.focusState == FocusState.NotFocused
&& prevState.value == FocusState.Focused
&& focusModifier.focusDetailedState == FocusDetailedState.Active
) {
onBlur(false) // TODO: Need to know if there is next focus element
}
if (focusModifier.focusState == FocusState.NotFocused
&& prevState.value == FocusState.Focused
&& focusModifier.focusDetailedState == FocusDetailedState.Inactive){
onBlur(true)
}......
Now the function FilledTextField works correctly in column of the fields on the device Samsung Note 9 and emulator Pixel 4 XL API 30 AS-4.2-a2 Compose 0.1.0 dev-13.