react-native - 如何在 TouchableOpacity onPress 上更改卡片的背景颜色
问题描述
我在 TouchableOpacity使用Card元素 。
当我按下它时,卡片背景颜色太烦人了 wrt 不透明度。
当我删除 borderRadius时,这个问题不会发生。
当我使用borderRadius时 ,会出现这个问题
我已经看到了我正在使用的所有组件的道具,但对我没有任何帮助。
问题:
当我在 Card containerStyle 中使用borderRadius 时,TouchableOpacity 颜色与 Card 颜色不匹配。大约相反。
我怎样才能给出相同的颜色,所以当按下卡片时,没有显示卡片白色背景颜色?
组件.js
<TouchableOpacity>
<Card
containerStyle={styles.MainCardStyle}
transparent>
<CardItem
cardBody
>
<View style=
{styles.cardContentStyle}>
<Image
style={styles.iconStyle}
resizeMode="contain"
source=
{require('../../assets/database.png')}
/>
<Text style=
{styles.cardTextStyle}>Setting</Text>
</View>
</CardItem>
</Card>
</TouchableOpacity>
样式.js
export const styles=({
MainCardStyle: {
borderRadius: 16,
},
cardContentStyle: {
flexDirection: 'row',
},
实际输出
期望的输出
解决方案
将 TouchableOpacity 放入卡片并使用:
样式={ ...StyleSheet.absoluteFillObject }
原因 StyleSheet 必须被导入
推荐阅读
- python - 将数组输入 numpy.random.poisson(如输入图像)和输入 lambda 的值有什么区别?
- sql - 在 Postgres 中,使用“FOR UPDATE SKIP LOCKED”时可以使用 ROLLBACK TO SAVEPOINT 来实现“尝试”吗?
- python - 检查列表中的任何元素是否存在于字符串中
- amazon-web-services - 提供 ServerSideEncryption 以从 AWS S3 下载文件
- java - 无法使用 java 桥运行 php 应用程序
- python - 如何将列中的值转换为列名,然后将另一列中的相应值插入其中
- r - Dplyr groupby 是对所有列求和还是可以指定 R
- apache-spark - spark:DataFrame中的记录数在不同的运行中是不同的
- swift - 即使连接了 IBOutlet,远程视频流也不会呈现到 UIView
- java - 如何从单个 IP 获取所有 UUID 登录(MySQL 数据库 [Minecraft])