Saltar al contenido principal

LongPressButton

El LongPressButton es un componente interactivo de nuestra biblioteca que desencadena acciones cuando se mantiene pulsado durante un tiempo determinado, normalmente más largo que la pulsación de un botón estándar.

Uso

Uso básico

import {LongPressButton} from 'rn-inkpad';

const MyComponent = () => {
return <LongPressButton />;
};

Props

NombreTipoPredeterminadoDescripción
backgroundColorstring#464EE5Color de fondo del botón.
behavior'left-to-right' | 'right-to-left' | 'center-to-ends'left-to-rightDirección de movimiento de la barra.
borderRadiusnumber20Borde redondeado.
fontSizenumberTamaño de la fuente.
fullWidthbooleanActiva ancho completo.
heightDimensionValue40Altura del botón.
iconstringIcono del botón.
iconPosition'left' | 'right'leftPosición del icono.
longPressTimenumber2000Tiempo en ms requerido para ejecutar la función.
progressColorstringrgba(255, 255, 255, 0.3)Color del indicador.
styleStyleProp<ViewStyle>Estilos personalizados para el botón.
textstringButtonTexto del botón.
textColorstring#FFFFFFColor del texto.
widthDimensionValue50%Ancho del botón.
onFinish() => voidFunción que se ejecuta al finalizar la pulsación larga.

Uso con props

import React, {useState} from 'react';
import {View, StyleSheet} from 'react-native';

import {RadioButtons} from 'rn-inkpad';

const MyComponent = () => {
const [isExecuted, setIsExecuted] = useState(false);

const handlePress = () => {
setIsExecuted(true);
setTimeout(() => {
setIsExecuted(false);
}, 1500);
};

return (
<View styles={styles.container}>
<LongPressButton
backgroundColor="#21295C"
borderRadius={10}
icon="add-circle-outline"
progressColor="#60a5fa"
text="Press and Hold"
onFinish={handlePress}
/>
<LongPressButton
backgroundColor="#DB504A"
behavior="center-to-ends"
icon="add-circle-outline"
iconPosition="right"
progressColor="rgba(0,0,0,0.5)"
style={{marginTop: 10}}
text="Press and Hold"
onFinish={handlePress}
/>
<LongPressButton
backgroundColor="#7EE081"
behavior="right-to-left"
borderRadius={0}
icon="add-circle-outline"
iconPosition="right"
progressColor="#C3F3C0"
style={{marginTop: 10}}
text="Press and Hold"
textColor="#000"
onFinish={handlePress}
/>

<Text style={{marginTop: 15}}>
{isExecuted ? 'Executed' : 'Long press to execute!'}
</Text>
</View>
);
};

const styles = StyleSheet.create({
container: {
alignItems: 'center',
flex: 1,
justifyContent: 'center',
},
});

Ejemplo con props