问题描述
我正在使用原生按钮并尝试通过按下按钮来下载图像。它在 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'