TouchableOpacity表现得很奇怪

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TouchableOpacity表现得很奇怪相关的知识,希望对你有一定的参考价值。

    <View
        style={{
          flex: 1,
          width: BannerWidth,
          height: (deviceHeight * 25) / 100,
          marginBottom: 40,
          backgroundColor: theme.colors.batiLacivert,
        }}>   
         <TouchableOpacity onPress={() => Actions.portfoy()}>
          <View
            style={{
              width: 48,
              height: 60,
              left: 0,
              top: 50,
            }}>
            <Image
              style={{
                width: 48,
                height: 60,
                left: 40,
                bottom: -30,
                position: 'absolute',
              }}
              source={require('../../assets/yuzdeler/0yuzde_yeni.png')}
            />
            <Text
              style={{
                position: 'absolute',
                color: 'black',
                left: 47,
                bottom: 0,
                fontSize: 20,
              }}>
              %{this.state.anasayfaBilgiler.Performans}
            </Text>
          </View>
        </TouchableOpacity>
        </View>

我的项目中有这样的代码。我使用 position: absolute 将我的盾牌图标放置在 View我把它包成一个 TouchableOpacity 按下它,然后转到另一个页面。但是当我在盾牌上按下时,什么都没有发生,但是当我在背景上按下View时,它应用了代码,它应该在盾牌上完成......我怎样才能解决这个问题?

编辑:现在,当盾牌图标在背景视图上时,它可以工作,但当我把它定位在底部时,图标的溢出区域不工作,只是上半部分需要点击。我需要它在整个图像上工作

这个区域--蓝色的--不能点击。

This area doesn't click

答案

请确认您已经导入了 TouchableOpacityreact-native 而不是 react-native-gesture-handler

另一答案

我们的想法是将样式(高度、宽度、位置:'绝对'、顶部、左侧)只固定到 TouchableOpacity 组件。因为如果你设置例如 top: 50 到一个子组件上,这个子组件将在可触摸的透明度组件下面50,只有当你按下组件的顶部50时,你的onPress功能才会被启动。你只需要将Text组件的位置绝对化,因为它应该在Image上。

<View
  style={{
    flex: 1,
    width: BannerWidth,
    height: (deviceHeight * 25) / 100,
    marginBottom: 40,
    backgroundColor: theme.colors.batiLacivert,
  }}
>
  <TouchableOpacity style={{ position: 'absolute', top: 50, left: 40 }} onPress={() => Actions.portfoy()}>
    <View
      style={{
        width: 48,
        height: 60,
      }}
    >
      <Image
        style={{
          width: 48,
          height: 60,
        }}
        source={require('../../assets/yuzdeler/0yuzde_yeni.png')}
      />
      <Text
        style={{
          position: 'absolute',
          color: 'black',
          fontSize: 20,
        }}
      >
          %
        {this.state.anasayfaBilgiler.Performans}
      </Text>
    </View>
  </TouchableOpacity>
</View>

希望我说的清楚。

以上是关于TouchableOpacity表现得很奇怪的主要内容,如果未能解决你的问题,请参考以下文章

我的 IOS 方向表现得很奇怪,不会听任何编程代码?

SMTP表现得很奇怪

当我使用 CSS 网格运行 Dash App 时,它表现得很奇怪

XCODE:标签约束表现得很奇怪

UILabel 表现得很奇怪

Xcode 6.1 用 git 表现得很奇怪