【问题标题】:Linear Gradient Not working for rounded touchable opacity React Native线性渐变不适用于圆形可触摸不透明度 React Native
【发布时间】:2022-01-09 13:39:16
【问题描述】:

我为我的可触摸不透明度创建了一个线性渐变。问题是我希望我的按钮是圆形的,所以我添加了“borderRadius:100”和渐变,如果我没有圆形按钮,就会覆盖“角落”的位置。我该如何摆脱这个?下面是我的代码和问题的图像。我到处找,似乎找不到问题。任何帮助将不胜感激。

 <View
          style={{
            flex: 0.6,
            justifyContent: "flex-start",
          }}
        >
          <LinearGradient
            colors={[
              "#F7BBB2",
              "#FFC9B5",
              "#FFDDC7",
              "#FFF6D4",
              "#FFFDF2",
            ]}
            // style={styles.background}
            start={{ x: 0, y: 0 }}
            end={{ x: 1, y: 1 }}
          >
            <TouchableOpacity
              disabled={isDisabled}
              style={
                isDisabled
                  ? styles.disabled
                  : styles.btnContainer
              }
              //activeOpacity={0.2}
              onPress={() => {
                //handleSignUp();
                pressHandler();
              }}
            >
              <Text
                style={{
                  color: "black",
                  textAlign: "center",
                  fontSize: 20,
                  fontFamily: "Montserrat",
                  //opacity: 0.3,
                }}
              >
                Next
                <Text>{"  "}</Text>
                <Ionicons
                  name="arrow-forward-outline"
                  size={20}
                  color="black"
                />
              </Text>
            </TouchableOpacity>
          </LinearGradient>
        </View>

这是我的按钮样式

disabled: {
    width: 200,
    height: 70,
    borderRadius: 100,
    overflow: "hidden",
    borderWidth: 1,

  },

【问题讨论】:

  • 给LinearGradient相同的边界半径

标签: react-native expo linear-gradients


【解决方案1】:

替换为

  <LinearGradient
    colors={[
      "#F7BBB2",
      "#FFC9B5",
      "#FFDDC7",
      "#FFF6D4",
      "#FFFDF2",
    ]}
    style={{borderRadius: 100}}
    start={{ x: 0, y: 0 }}
    end={{ x: 1, y: 1 }}
  >

或者只是将此style = {{borderRadius : 100}} 添加到您的&lt;LinearGradient &gt; 组件中。

【讨论】:

  • 谢谢,不幸的是,当我添加它时,按钮看起来像一个椭圆,而不仅仅是圆角
  • 当我改变borderRadius时:20有效,100压缩,谢谢!
猜你喜欢
  • 2018-11-29
  • 2019-05-22
  • 2020-09-30
  • 2023-01-22
  • 1970-01-01
  • 2011-12-05
  • 1970-01-01
  • 2020-11-09
  • 1970-01-01
相关资源
最近更新 更多