react-native – 当Android上的位置绝对时,React Native – View
每当我为这个视图制作’绝对’的位置风格时,它就会消失.我不知道为什么会这样.
import React,{ Component } from 'react'; import { Text,View,Image,TouchableOpacity,StyleSheet } from 'react-native'; export default class App extends Component { render() { return ( <View style={styles.mainView}> <View style={styles.parentView}> <TouchableOpacity activeOpacity={0.9} onPress={() => {}}> <View style={ [{position: 'absolute'},styles.textView] }> <Text style={styles.textViewText}> Just Another Cat </Text> </View> <Image style={[{position: 'absolute'},styles.imageView]} source={{ uri: 'https://images.pexels.com/photos/104827/cat-pet-animal-domestic-104827.jpeg' }} /> </TouchableOpacity> </View> </View> ); } } const styles = StyleSheet.create({ mainView: { flexDirection: 'row',flex: 1 },parentView: { alignSelf: 'center',flex: 0.5,left: 10,elevation: 3,alignItems: 'flex-start' },textView: { width: 250,height: 250,opacity: 1,borderRadius: 125,backgroundColor: '#aaa034' },textViewText: { textAlign: 'center',padding: 10,color: '#ffffff',fontSize: 18,top:0,right:0,bottom:0,left:0,textAlignVertical: 'center',position: 'absolute' },imageView: { width: 250,borderColor: '#000000',borderWidth: 0.2 } }); 当我删除与styles.textView和styles.imageView一起添加的内联样式:(位置:’绝对’)时,它们都将再次可见.但是我想出于某种原因使这个位置绝对,但随后它们就消失了.我不知道为什么.有谁能解释一下? 编辑:它适用于iOS.它在android上给出了这个bug.小吃网址:https://snack.expo.io/Hy_oRrvOM
问题是TouchableOpacity的宽度和高度为零!因为它的内容是绝对的,所以你需要为其中一个子项设置(左,右,上,下)或设置TouchableOpacity本身的宽度和高度
为什么它在iOS中有效? 但在android ViewGroup中总是剪辑其子节点 如何解决这类问题? 所以例如在这种情况下:首先为mainView设置backgroundColor然后如果它显示,为parentView设置backgroundColor,然后为TouchableOpacity设置它,你可以看到它没有显示TouchableOpacity的backgroundColor,因为它的宽度和高度为零,每个您可以手动设置宽度和高度以确保问题 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |