Выравнивание элементов в flexWrap зависит от количества элементов - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь отцентрировать текст по вертикали в блоке, который находится во flexWrap.Но это немного выше или ниже центра, в зависимости от того, сколько ящиков есть (???).Наблюдайте за всеми движениями Hellos, когда добавлено больше ящиков:

Animation of expo snack

Здесь можно перекусить Экспо: https://snack.expo.io/@danbock/vertically-center-text

Как можноЯ заставляю этот текст оставаться в центре независимо от количества полей?

1 Ответ

0 голосов
/ 27 августа 2019
import * as React from 'react';
import {
 Text,
 View,
 StyleSheet,
 TouchableWithoutFeedback,
 ScrollView,
} from 'react-native';
import { Constants } from 'expo';
export default class App extends React.Component {
 render() {
   return (
     <View style={{ flexDirection: 'row', flexWrap: 'wrap' }}>
       <View style={styles.surface}>
         <Text style={styles.text}>Hello</Text>
       </View>
       <View style={styles.surface}>
         <Text style={styles.text}>Hello</Text>
       </View>
       <View style={styles.surface}>
         <Text style={styles.text}>Hello</Text>
       </View>
       <View style={styles.surface}>
         <Text style={styles.text}>Hello</Text>
       </View>
       <View style={styles.surface}>
         <Text style={styles.text}>Hello</Text>
       </View>
       <View style={styles.surface}>
         <Text style={styles.text}>Hello</Text>
       </View>
       <View style={styles.surface}>
         <Text style={styles.text}>Hello</Text>
       </View>
       <View style={styles.surface}>
         <Text style={styles.text}>Hello</Text>
       </View>
     </View>
   );
 }
}
const styles = StyleSheet.create({
 surface: {
   alignItems: 'center',
   aspectRatio: 1,
   elevation: 2,
   justifyContent: 'center',
   margin: '5%',
   width: '40%',
   backgroundColor: '#eeeeee',
 },
 text: {
   textAlign: 'center',
   marginHorizontal: 'center',
   marginVertical: 'center',
 },
});
...