【问题标题】:How to change background color of Card on TouchableOpacity onPress如何在 TouchableOpacity onPress 上更改卡片的背景颜色
【发布时间】:2019-01-14 10:39:34
【问题描述】:

我在 TouchableOpacity 中使用 Card 元素。

当我按下它时,卡片背景颜色太烦人了 w.r.t 不透明度。

当我 remove borderRadius 时,这个问题不会发生

当我使用borderRadius时,就会出现这个问题

我已经看到了我正在使用的组件的所有道具,但没有任何对我有用。

问题:

当我在 Card containerStyle 中使用borderRadius 时,TouchableOpacity 颜色与 Card 颜色不匹配。几乎相反。

我怎样才能给出相同的颜色,所以当按下卡片时,没有显示卡片白色背景颜色?

Component.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>

styles.js

export const styles=({
    MainCardStyle: {
         borderRadius: 16,

    },
    cardContentStyle: {
        flexDirection: 'row',

    },

实际输出

期望的输出

【问题讨论】:

标签: react-native react-native-android react-native-elements


【解决方案1】:

将TouchableOpacity放入卡片内并使用:

style={ ...StyleSheet.absoluteFillObject }

因为必须导入 StyleSheet

【讨论】:

  • 什么是 .absoluteFillObject 。它是 TouchableOpacity 还是 Stylesheet 的道具。在哪里写。请澄清你的答案
  • 只是一个简单的说法,一个元素应该占据它可以得到的所有空间。道具看起来像这样
  • 我的小错误,应该是 style={{ ... }}
  • 抱歉,没有成功。甚至 touchableopacity 也没有显示任何触摸效果。
  • 你也可以自己写卡片组件,这样工作量不大,维护性更好。
猜你喜欢
  • 1970-01-01
  • 2013-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-26
  • 1970-01-01
  • 2022-01-19
  • 2021-08-31
相关资源
最近更新 更多