react-native按钮组件Button

本文介绍了React Native中用于创建按钮的Button组件。通过代码示例展示了如何使用Button,包括其基本用法和常见属性设置,帮助开发者实现交互式的按钮效果。
摘要由CSDN通过智能技术生成

学习交流:https://gitee.com/potato512/Learn_ReactNative

react-native学习交流QQ群:806870562


效果图


代码示例

import React, {Component} from 'react';
import {
    StyleSheet,
    View,
    Button,
    Alert
} from 'react-native';

type Props = {};
export default class ButtonPage extends Component<Props> {
    render() {
        return(
            <View style={
  {marginTop:20,marginHorizontal:10}}>

                <View style={styles.clickButtonStyle}>
                    <Button title={"点我"} color={'green'} onPress={buttonClick}/>
                </View>


                <Button title={"
在React Native中,如果你想要创建一个点击按钮后带有动画效果的打卡成功提示,可以借助第三方库如`react-native-easing`来添加动画,并结合`TouchableOpacity`或`TouchableHighlight`组件。这里是一个简单的步骤: 1. 首先,你需要安装所需的库,例如: ``` npm install react-native-reanimated react-native-gesture-handler react-native-easing @react-native-community/masked-view ``` 2. 然后,在你的组件中引入并导入相关的模块: ```javascript import { Easing, TouchableOpacity } from 'react-native'; import { useAnimatedStyle, useSharedValue } from 'react-native-reanimated'; import { MaskedView } from '@react-native-community/masked-view'; ``` 3. 创建一个布尔值共享状态表示是否打卡成功,以及动画相关的动画样式: ```javascript const [isTapped, setIsTapped] = useSharedValue(false); const animatedStyles = useAnimatedStyle(() => ({ opacity: isTapped.value ? 1 : 0, translateY: isTapped.value ? -50 : 0, // 根据需求调整动画高度 animation: { duration: 300, // 动画持续时间 easing: Easing.easeInOutBack, // 动画缓动函数 toValue: isTapped.value ? 0 : 100, // 初始位置到结束位置 }, })); ``` 4. 在`TouchableOpacity`或`TouchableHighlight`组件上设置点击事件处理程序,当点击时改变`isTapped`的状态并触发动画: ```javascript <TouchableOpacity onPress={() => setIsTapped(!isTapped)} style={[ styles.button, animatedStyles, ]} > <Text>打卡</Text> </TouchableOpacity> // 如果需要背景遮罩,添加MaskedView <MaskedView maskElement={<View style={{ height: 100, width: '100%', backgroundColor: 'rgba(0, 0, 0, 0.5)' }} />} style={{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0, justifyContent: 'center', alignItems: 'center', }} > <Text>{isTapped.value ? '已打卡' : '还未打卡'}</Text> </MaskedView> ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番薯大佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值