New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

react-native-keyboard-detect

Package Overview
Dependencies
Maintainers
0
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-keyboard-detect

React Native component to handle keyboard detection and adjust view position.

latest
Source
npmnpm
Version
3.0.3
Version published
Maintainers
0
Created
Source

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!

Keywords

react-native

FAQs

Package last updated on 28 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts