npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

react-native-keyboard-detect

v3.0.3

Published

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

Readme

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

| Prop | Type | Default Value | Description | | ------------------- | -------- | ------------- | ----------------------------------------------------------------------------------------- | | animationDuration | number | 200 | Customizable 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!