---
# System prepended metadata

title: 'Android keyboard open, validation - Thurs 5th Nov, 2020'
tags: [C+, validation, tabs, programmingjournal, softInputMode, '2020', AndroidManifest]

---

# Android keyboard open, validation - Thurs 5th Nov, 2020

On Android, when the keyboard was open, it was moving the bottom navigation tab bar up. This was not what I wanted, so the solution I found was to edit the `AndroidManifest` to include:

```xml=
android:windowSoftInputMode="stateAlwaysHidden|adjustPan"
```

Made some good progress with validation of sending flow (eg. making sure a user can't advance to next screen without first selecting a recognition type).

Yup makes things easy:

```typescript=
const validationSchema: Omit<Record<keyof RecogniseStackParamList, any>, 'Success'> = {
    Categories: yup.object().shape({
        recognition: yup.object().nullable().required('Please select a recognition type'),
    }),
    Recipients: '',
    Message: '',
}
```

In React Native, sometimes need to explicity set a field as touched: `setFieldTouched('recognition')`

###### tags: `programmingjournal` `2020` `C+` `AndroidManifest` `softInputMode` `tabs` `validation`