Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@pietile-native-kit/keyboard-aware-scrollview

Package Overview
Dependencies
Maintainers
2
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pietile-native-kit/keyboard-aware-scrollview

ScrollView that moves child input just above the keyboard when later gets focus

  • 1.5.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

KeyboardAwareScrollView

npm version install size

Solves the very common React Native problem of software keyboard popping over focused text input and tries to do it accurate and smooth (even on Android). Following focused input when keyboard is already open is also supported. Internally KeyboardAwareScrollView uses ScrollView, UIManager and Animated to position an input in the field of view.

Features

  • Accurate positioning
  • Smooth animation
  • Works both on iOS and Android
  • Small and simple code

Installation

Using yarn

yarn add @pietile-native-kit/keyboard-aware-scrollview

or using npm

npm install -S @pietile-native-kit/keyboard-aware-scrollview

Usage

Just put the content with inputs in KeyboardAwareScrollView and that's it.

List of specific KeyboardAwareScrollView props and methods is available below. Everything else is passing to underlying ScrollView.

Example

import React from 'react';

import { TextInput, Text } from 'react-native';
import { KeyboardAwareScrollView } from '@pietile-native-kit/keyboard-aware-scrollview';

function KeyboardAwareScrollViewExample() {
  return (
    <KeyboardAwareScrollView style={{ flex: 1 }}>
      <Text>KeyboardAwareScrollview</Text>
      <TextInput />
    </KeyboardAwareScrollView>
  );
}

How to use with FlatList or SectionList?

Just pass renderScrollComponent props to list like below in example.

import React, { useCallback } from 'react';

import KeyboardAwareScrollView from '@pietile-native-kit/keyboard-aware-scrollview';
import { FlatList } from 'react-native';

const ScrollComponent = React.forwardRef((forwardedProps, ref) => (
  <KeyboardAwareScrollView scrollViewRef={ref} {...forwardedProps} />
));

function KeyboardAwareFlatList(props) {
  const renderScrollComponent = useCallback((scrollProps) => {
    return <ScrollComponent {...scrollProps} />;
  }, []);

  return <FlatList {...props} renderScrollComponent={renderScrollComponent} />;
}

API

Properties

namedescriptiontypedefault
childrenContentNode-
contentContainerStyleStyle of container that wraps children and used to adjust bottom padding to keyboardstyle-
contentContainerStyleKeyboardShownStyle that applied to contentContainerStyle when keyboard is shownstyle-
extraHeightAdditional height between keyboard and focused inputnumber24
scrollViewContentContainerStyleSee contentContainerStylestyle-
scrollViewRefRef to underlying ScrollViewref-

Methods

namedescription
scrollToInput(input)Scroll to input

Acknowledge

Inspired by react-native-keyboard-aware-scroll-view and KeyboardAvoidingView

License

Pietile KeyboardAwareScrollView is MIT License.

Keywords

FAQs

Package last updated on 02 Aug 2022

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc