All Projects → rnc-archive → React Native Platform Touchable

rnc-archive / React Native Platform Touchable

Licence: bsd-3-clause
A wrapper around the various Touchable* components built into React Native core with platform defaults

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to React Native Platform Touchable

React Awesome Button
React button component. Awesome button is a 3D UI, progress, social and share enabled, animated at 60fps, light weight, performant, production ready react UI button component. 🖥️ 📱
Stars: ✭ 943 (+114.32%)
Mutual labels:  component, button
React Progress Button
🌀 Simple react.js component for an inline progress indicator
Stars: ✭ 516 (+17.27%)
Mutual labels:  component, button
React Native Really Awesome Button
React Native button component. Awesome Button is a 3D at 60fps, progress enabled, social ready, extendable, production ready component that renders an awesome animated set of UI buttons. 📱
Stars: ✭ 988 (+124.55%)
Mutual labels:  component, button
Github Buttons
Unofficial github:buttons.
Stars: ✭ 821 (+86.59%)
Mutual labels:  component, button
Wymaterialbutton
Interactive and fully animated Material Design button for iOS developers.
Stars: ✭ 80 (-81.82%)
Mutual labels:  component, button
React Countdown
A customizable countdown component for React.
Stars: ✭ 402 (-8.64%)
Mutual labels:  component
Submitbutton
A submit button with a fun animation for Android.
Stars: ✭ 419 (-4.77%)
Mutual labels:  button
Ng Dynamic Component
Dynamic components with full life-cycle support for inputs and outputs for Angular
Stars: ✭ 396 (-10%)
Mutual labels:  component
Filesystem
The Filesystem component provides basic utilities for the filesystem.
Stars: ✭ 4,111 (+834.32%)
Mutual labels:  component
React Native Blurhash
🖼️ A library to show colorful blurry placeholders while your content loads.
Stars: ✭ 430 (-2.27%)
Mutual labels:  component
Nfdownloadbutton
Revamped Download Button. It's kinda a reverse engineering of Netflix's app download button.
Stars: ✭ 429 (-2.5%)
Mutual labels:  button
React Sortable Tree
Drag-and-drop sortable component for nested data and hierarchies
Stars: ✭ 4,348 (+888.18%)
Mutual labels:  component
Esp Mqtt
ESP32 mqtt component
Stars: ✭ 403 (-8.41%)
Mutual labels:  component
Onebutton
An Arduino library for using a single button for multiple purpose input.
Stars: ✭ 418 (-5%)
Mutual labels:  button
Sppagemenu
分页菜单,功能非常齐全,满足绝大多数APP,简书地址:
Stars: ✭ 402 (-8.64%)
Mutual labels:  component
Emoji Mart
One component to pick them all 👊🏼
Stars: ✭ 4,687 (+965.23%)
Mutual labels:  component
Squishbutton
A button that squishes when pressed. As seen in the Clips app.
Stars: ✭ 401 (-8.86%)
Mutual labels:  button
Vue D3 Network
Vue component to graph networks using d3-force
Stars: ✭ 415 (-5.68%)
Mutual labels:  component
Shinebutton
This is a UI lib for Android. Effects like shining.
Stars: ✭ 4,105 (+832.95%)
Mutual labels:  button
React Canvas Draw
React Component for drawing in canvas
Stars: ✭ 412 (-6.36%)
Mutual labels:  component

react-native-platform-touchable is no longer maintained

🚨 We recommend using react-native-gesture-handler buttons instead!


#<Touchable>

A wrapper around the various Touchable* components built into React Native core in order to use TouchableNativeFeedback whenever possible, provide an easier interface to using it, and flatten out API differences between the Touchable components.

  • iOS: Defaults to TouchableOpacity with default activeOpacity.

  • Android: Defaults to TouchableNativeFeedback with background from Android app style, unless Android API <= 20 / Android < 5.0, then defaults to TouchableOpacity.

  • Touchable requires exactly one child, for example:

    // Good
    <Touchable>
      <Child>
        <GrandChild />
        <GrandChild />
      </Child>
    </Touchable>
    
    // Bad
    <Touchable>
      <Child />
      <Child />
    </Touchable>
    

Usage

npm i react-native-platform-touchable --save

 # or

yarn add react-native-platform-touchable
import React from 'react';
import { Text, View } from 'react-native';
import Touchable from 'react-native-platform-touchable';

export default class App extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
        <Touchable
          onPress={() => console.log('hello!')}
          style={{
            backgroundColor: '#eee',
            paddingVertical: 30,
            paddingHorizontal: 80,
          }}
          background={Touchable.Ripple('blue')}>
          <Text>Hello there!</Text>
        </Touchable>
      </View>
    );
  }
}

Statics

  • Touchable.SelectableBackground() - creates an object that represents android theme's default background for selectable elements
  • Touchable.SelectableBackgroundBorderless() - creates an object that represent android theme's default background for borderless selectable elements.
  • Touchable.Ripple(color: string, borderless: boolean) - creates an object that represents ripple drawable with specified color (as a string). If property borderless evaluates to true the ripple will render outside of the view bounds.

props

You can use the same props as you would use on TouchableOpacity, TouchableHighlight, TouchableNativeFeedback, and TouchableWithoutFeedback. Listed below.

  • fallback - If TouchableNativeFeedback is not available (on iOS and on Android API <= 20 / Android < 5.0), the component specified in this prop is used instead. Defaults to TouchableOpacity.

  • hitSlop - use this! pass in an object of the format { top: number, left: number, right: number, bottom: number }, this makes the Touchable easier to press by expanding the touchable area by the number of points that you specify on each side, without having to change the layout of the Touchable, eg: by adding padding.

  • onPress - fired when you press (touch in, release within bounds).

  • onPressIn - fired immediately on press in (like onmousedown on web)

  • onPressOut - fired immediately on press out (like onmouseout on web)

  • onLongPress - fired when you press and hold.

  • delayLongPress - time to wait for onLongPress to fire.

  • delayPressIn - time to wait for onPressIn to fire

  • delayPressOut - time to wait for onPressOut to fire

  • disabled - default false, when true the button is disabled.

  • onLayout - see onLayout documentation on View

  • pressRetentionOffset - see React Native documentation.

  • accessibility props - see TouchableWithoutFeedback for the list of supported props and Accessibility guide for more information.

Additional props used by TouchableOpacity (default iOS)

  • activeOpacity - sets the opacity to animate to when touch is active.

Additional props used by TouchableNativeFeedback (default Android)

  • background - customize the touch effect with Touchable.SelectableBackground, Touchable.SelectableBackgroundBorderless, or Touchable.Ripple(color: string, borderless: boolean).
  • foreground - same as background, should be used instead of background if the Touchable has any images as children and you want the ripple to be rendered above the image (if the image is not opaque, background will not be visible, you must use foreground)

Additional props used by TouchableHighlight

  • underlayColor - the color of the background when touch is active.
  • onHideUnderlay - fired immediately after the underlay is hidden
  • onShowUnderlay - fired immediately after the underlay is shown

Rounded corners on Touchables with TouchableNativeFeedback behavior

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].