3

主要渲染:

  render() {
    return (

    <View>
      <FlatList
      ListEmptyComponent={() => <DialogBox type="internet" />}
      ...
    </View>
     );

<DialogBox type="internet" />通过绝对位置设置样式的容器:

export const dialogBox = EStyleSheet.create({
   container : {
       position: 'absolute',
       justifyContent: 'center',
       alignItems: 'center',
       top: 0,
       left: 0,
       right: 0,
       bottom: 0,
       zIndex:10000

   },
   .... 

和对话框:

  <View style={dialogBox.container}>
       <View style={dialogBox.box}>
       ...

如果我删除absolute表单容器,它会显示。但我想在屏幕中间(不是平面列表中间)显示它。

但是为什么绝对不能使用 zIndex 呢?

我尝试将代码更改为:

    <View style={{position: 'absolute',zIndex:1}}>
      <FlatList
      style={{position: 'absolute',zIndex:2}}

或这个:

    <View style={{position: 'relative'}}>
      <FlatList
      style={{position: 'relative'}}

但这不起作用

4

1 回答 1

-1

zIndex不仅适用于绝对位置。

touchableCard: {
    justifyContent: "center",
    alignItems: "center",
    zIndex: 200,
    ...
  },

  emptyNotesInfo: {
    textAlign: "center",
    zIndex: 100,
    ...
  },

尝试这个:

   <View>
      <FlatList style={{flex: 1}}
        renderItem={ data => <View style={{zIndex: 2}}><Text>HERE example view</Text></View>}
      ...
      />
   </View>
  <View style={{ 
       position: "absolute", 
       zIndex: 1,
       alignContent: "center",
       alignItems: "center",
       alignSelf: "center"
     }}>
     <Text>HERE What you need too hide</Text>
  </View>
于 2019-05-08T18:23:30.080 回答