ReactNative中TouchableOpacity和TouchableHighlight的区别

写作时间:2021/2/3
开发平台:macOS
React-Native版本:0.63.2
目标平台:Android、iOS

TouchableOpacity:当按下的时候,封装的视图的不透明度会降低。

TouchableHighlight:当按下的时候,封装的视图的不透明度会降低,同时会有一个底层的颜色透过而被用户看到,使得视图变暗或变亮。

效果:
在这里插入图片描述

测试代码

'use strict';

import React from 'react';
import {View, Text, TouchableOpacity, TouchableHighlight} from 'react-native';

export default class Touch extends React.Component {
    render() {
        return (
            <View style={{flex: 1, justifyContent: 'space-around', alignItems: 'center'}}>
                <TouchableOpacity style={{backgroundColor: 'cyan'}}>
                    <View style={{width: 200, height: 100, backgroundColor: 'orange'}}>
                        <Text>TouchableOpacity</Text>
                    </View>
                </TouchableOpacity>
                <TouchableHighlight activeOpacity={0.5} underlayColor={'cyan'} onPress={() => console.log('pressed!')}>
                    <View style={{width: 200, height: 100, backgroundColor: 'orange'}}>
                        <Text>TouchableHighlight</Text>
                    </View>
                </TouchableHighlight>
            </View>
        );
    }
}

总结:
1、TouchableOpacity在点击时的效果只能降低包裹组件的透明度,设置的背景颜色无效
2、TouchableHighlight在点击时除了降低包裹组件的透明度之外,会同时透出自身定义的背景颜色
3、TouchableHighlight的效果实现需要设置activeOpacity和underlayColor(详见测试代码)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值