3.0.3 • Published 8 months ago

react-native-keyboard-detect v3.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

react-native-keyboard-detect npm version

A React Native component for detecting the keyboard visibility and adjusting the view accordingly. It helps you manage the UI when the keyboard is visible, providing smooth animations for an improved user experience.

Features

  • Detects the keyboard visibility changes.
  • Provides smooth animated transition when the keyboard shows or hides.
  • Customizable option animation duration.
  • Works on both iOS and Android platforms.

Installation

npm

npm install react-native-keyboard-detect --save

Platform compatibility

This project is compatible with iOS, Android, Windows and macOS.
This project supports both the old (paper) and the new architecture (fabric).
This project is compatible with expo.

Getting Started

If any step seems unclear, please create a pull request.

Usage

To get started, import and use the KeyboardDetect component in your React Native app. Here’s a step-by-step guide.

import { KeyboardDetect } from 'react-native-keyboard-detect';

Now, wrap the content you want to adjust with KeyboardDetect:

import React from 'react';
import { View, Text, TextInput, Button, StyleSheet } from 'react-native';
import { KeyboardDetect } from 'react-native-keyboard-detect';

const MyComponent = () => {
  return (
    <KeyboardDetect animationDuration={300}>
      <View style={styles.inner}>
        <Text style={styles.header}>Login</Text>
        <TextInput style={styles.input} placeholder="Username" />
        <TextInput style={styles.input} placeholder="Password" />
        <Button title="Submit" onPress={() => {}} />
      </View>
    </KeyboardDetect>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
  inner: {
    padding: 24,
    flex: 1,
    justifyContent: 'space-around',
  },
  header: {
    fontSize: 36,
    fontWeight: 'bold',
    textAlign: 'center',
  },
  input: {
    height: 40,
    borderColor: '#ccc',
    borderBottomWidth: 1,
    marginBottom: 12,
    paddingLeft: 8,
  },
});

export default MyComponent;

Props

PropTypeDefault ValueDescription
animationDurationnumber200Customizable duration (in milliseconds) for the animation when the keyboard shows/hidden.

Notes

  • children is automatically handled and does not need to be explicitly passed as a prop. The content to be adjusted should be wrapped by the KeyboardDetect component directly.

Example

Here’s an example of how you can use KeyboardDetect with some custom props:

<KeyboardDetect animationDuration={300}>
  <View style={styles.inner}>
    <Text style={styles.header}>Sign In</Text>
    <TextInput style={styles.input} placeholder="Email" />
    <TextInput style={styles.input} placeholder="Password" secureTextEntry />
    <Button title="Login" onPress={() => {}} />
  </View>
</KeyboardDetect>

Contributing

Feel free to contribute by adding more languages or improving the time-based logic. Follow these steps:

  • Fork the repository.
  • Create your feature branch (git checkout -b feature/my-feature).
  • Commit your changes (git commit -am 'Add some feature').
  • Push to the branch (git push origin feature/my-feature).
  • Create a new Pull Request.

License

MIT

Translations

This readme is available in:

📝 Author

👤 Johny Lie

🌱 Show your support

Please ⭐️ this repository if this project helped you!

npm.io

3.0.3

8 months ago

3.0.2

8 months ago

3.0.1

8 months ago

3.0.0

8 months ago

2.0.8

8 months ago

2.0.7

8 months ago

2.0.6

8 months ago

2.0.5

8 months ago

2.0.4

8 months ago

2.0.3

8 months ago

2.0.2

8 months ago

2.0.1

8 months ago

2.0.0

8 months ago

1.0.9

8 months ago

1.0.8

8 months ago

1.0.7

8 months ago

1.0.6

8 months ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

8 months ago