>  기사  >  웹 프론트엔드  >  React Native에서 텍스트가 화면에 넘쳐나는 것을 방지하는 방법은 무엇입니까?

React Native에서 텍스트가 화면에 넘쳐나는 것을 방지하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-01 20:48:02549검색

How to Prevent Text Overflowing the Screen in React Native?

React Native의 텍스트 오버플로 화면: 래핑 문제 해결

제시된 코드는 React Native 요소를 확장하는 광범위한 텍스트 콘텐츠를 보여줍니다. 화면의 경계. 목표는 80%의 동적 너비를 유지하면서 텍스트를 화면 중앙에 제한하는 것입니다.

해결책:

이 문제를 해결하려면 다음 수정 사항을 따르세요.

  • descriptionContainerHor 스타일에서 너비 속성을 제거합니다. 이전에 flex: 0.3을 사용하여 너비를 조작하려는 시도는 다양한 화면 크기에서 문제를 일으켰습니다. 동적 너비를 얻으려면 제거하는 것이 좋습니다.
  • descriptionText 스타일에 flexShrink: 1 추가: 이 CSS 속성을 사용하면 필요한 경우 텍스트를 축소할 수 있습니다. 사용 가능한 공간에 맞습니다.
  • 상위 컨테이너 재정렬: 플렉스 행 상위 내에서 descriptionContainerVerdescriptionContainerVer2 뷰를 래핑합니다. 이렇게 하면 수평으로 정렬되어 정렬 문제가 해결됩니다.

업데이트된 코드 조각:

<code class="javascript">...
var styles = StyleSheet.create({
  container:{
        flex:1,
    flexDirection:'column',
        justifyContent: 'flex-start',
        backgroundColor: 'grey'
    },
    descriptionContainerVer:{
    flex:0.5, //height (according to its parent)
    flexDirection: 'column', //its children will be in a row
    alignItems: 'center',
    backgroundColor: 'blue',
    // alignSelf: 'center',
  },
  descriptionContainerVer2:{
    flex:0.5, //height (according to its parent)
    flexDirection: 'column', //its children will be in a row
    alignItems: 'center',
    backgroundColor: 'orange',
    // alignSelf: 'center',
  },
  descriptionContainerHor:{
    flex: 1,  //no width specified
    flexDirection: 'column',    //its children will be in a column
    alignItems: 'center', //align items according to this parent (like setting self align on each item)
    justifyContent: 'center',
    flexWrap: 'wrap'
  },
  descriptionText: {
    backgroundColor: 'green',//Colors.transparentColor,
    fontSize: 16,
    color: 'white',
    textAlign: 'center',
    flexWrap: 'wrap',
    flexShrink: 1  //allow text to shrink if necessary
  }
});
...

<View style={styles.container}>

        <View style={{flexDirection: 'row'}}>
          <View style={styles.descriptionContainerVer}>
            <View style={styles.descriptionContainerHor}>
              <Text style={styles.descriptionText} numberOfLines={5}>
                Here is a really long text that you can do nothing about, its gonna be long wether you like it or not, so be prepared for it to go off screen. Right? Right..!
              </Text>
            </View>
          </View>

          <View style={styles.descriptionContainerVer2}>
            <View style={styles.descriptionContainerHor}>
              <Text style={styles.descriptionText} numberOfLines={5}>Some other long text which you can still do nothing about.. Off the screen we go then.</Text>
            </View>
          </View>
        </View>

</View>
...</code>

이러한 수정을 통해 텍스트가 수평으로 확장되는 것을 효과적으로 방지할 수 있습니다. 동적 너비를 유지하면서 화면이 원하는 경계 내에 국한되는지 확인하세요.

위 내용은 React Native에서 텍스트가 화면에 넘쳐나는 것을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.