原生按钮的 Onpress() 不适用于 Android

问题描述

我正在使用原生按钮并尝试通过按下按钮来下载图像。它在 IOS 中运行良好,但在 Android 中无法运行。这是我的代码

        <View
            style={{
              marginVertical: hp("2%"),marginHorizontal: wp("15%"),textAlign: "center",width: "100%",}}
          >
            <Button
              onPress={() => downloadFile()}
              style={{
                backgroundColor: "#fff",width: "60%",borderRadius: 0,}}
              block
            >
              <Text
                style={{
                  color: "black",fontSize: RFPercentage(2.1),fontFamily: "BalsamiqSansBold",}}
              >
                ADD TO PHOTOS
              </Text>
            </Button>
          </View>

当按钮被按下时,IOS 中会调用 downloadFile() 函数,但它在 Android 的情况下不起作用。

我也尝试过像这样在媒体上进行控制台登录

          <Button
              onPress={() => console.log("Button Clicked")}
              style={{
                backgroundColor: "#fff",}}
              block
            >

它适用于 IOS,但不适用于 Android。

此外,如果我在 Android 中像这样直接在 onPress 上调用函数,它会自动记录 Button Clicked 而不会被按下。我试图找出所有可能的方法解决它,但我没有得到这个问题的确切原因。

         <Button
              onPress={console.log("Button Clicked")}
              style={{
                backgroundColor: "#fff",}}
              block
            >

解决方法

也许您在 android 中遇到了有关 TouchableOpacity 的问题。

您可以从“react-native-gesture-handler”导入 ToucahableOpacity,希望这会有所帮助。

你可以这样导入

import {TouchableOpacity} from 'react-native-gesture-handler'