ListView是否可以具有子视图

时间:2017-01-12 19:14:35

标签: android ios listview react-native

My Native iOS将TabBarController作为根视图控制器。我在主屏幕上有一个PageViewController(这是一个容器视图),其中一个视图支持React-Native

目标在允许用户切换标签的同时显示弹出视图

我尝试过使用模态&用于显示的Alert API。弹出窗口工作得很好但是在整个屏幕上都有遮罩。恢复交互的唯一方法是按下Alert中的 CANCEL 按钮进行解除。 Masking无法实现切换选项卡。

由于我无法删除模态或alertView的掩码,所以我试图渲染一个ListView的子视图。 这是我的render()函数

     return (
      <View style={{flex:1}}>  
            <ListView 
               onEndReachedThreshold={-5}
               renderFooter={this._renderFooter}
               onEndReached={this.onEndReached}
               contentContainerStyle={styles.list}
               dataSource={this.state.dataSource}
               renderRow = {(rowData) => Row(rowData)}>

              <View style={styles.popUpStyle}>

              </View>

         </ListView>
       </View>
    )
 }

我的StyleSheets如下

list: {
    justifyContent: 'center',
    alignItems : 'center',
    flexDirection: 'row',
    flexWrap: 'wrap',
    opacity : 1
},
popUpStyle : {

     width: widthOfScreen - 50,
     height: heightOfScreen/3,
     backgroundColor:'#000000',
     borderRadius: 5,
     shadowColor:'#000000',
     shadowRadius:5,
     shadowOpacity:0.8
}

我期待一个视图出现在屏幕的中心,因为ListView基于我添加的样式,但是没有什么。 listView可以有子视图吗?更重要的是,我可以在没有面具的情况下制作弹出视图吗?

1 个答案:

答案 0 :(得分:0)

  

listView可以有子视图吗?

不是我知道的。

  

更重要的是,我可以在没有面具的情况下制作弹出式视图吗?

当然可以。你只需要一些absolute魔法。我做类似的节目&#34;敬酒&#34;:

风格:

component: {
    position: 'absolute',
    left: 0,
    right: 0,
    alignItems: 'center'
},
content: {
    backgroundColor: red,
    borderRadius: 0,
    padding: 10,
    height: 56,
    justifyContent: 'center'
},
text: {
    color: white,
    textAlign: 'left',
    fontSize: 18
}

组件:

<View style={styles.component} pointerEvents='none'>
    <View style={styles.content}>
        <Text numberOfLines={1} style={styles.text}>{this.state.text}</Text>
    </View>
</View>

My&#34; toast&#34;不是互动的,但这是一个留给你的练习。