реагировать на родной плоский список изменить ориентацию - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть плоский список с включенной горизонтальной опцией, такой как страница, он хорошо работает при портретной или альбомной загрузке. При изменении режима ширина и высота путаются. Я пытаюсь рассчитать ширину и высоту в addEventListener. Есть ли лучшее решение? Может повторно сделать плоский список без потери состояния и реквизита. Это getItemLayoutPot, где определяется макет.

getItemLayout = (data, index) => (
    {length: this.state.width, offset: this.state.width * index, index}
)

 <FlatList
    onViewableItemsChanged={this.onViewableItemsChanged }
   viewabilityConfig={{
                      itemVisiblePercentThreshold: 50
                    }}
                    ref={ref =>  this.flatListRef = ref }
                    data={dataar}
                    horizontal={true}
                    keyExtractor={(item, index) => index.toString()}
                    extraData={this.state} 
                    showsHorizontalScrollIndicator={false}
                    removeClippedSubviews={false}
                    initialNumToRender={20}
                    maxToRenderPerBatch={10}
                    updateCellsBatchingPeriod={50}
                    initialScrollIndex={this.state.numPage}
                    getItemLayout={this.getItemLayout}
                    pagingEnabled={true} ....               
...