Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menghalang Teks Melimpah Skrin dalam React Native?

Bagaimana untuk Menghalang Teks Melimpah Skrin dalam React Native?

Linda Hamilton
Linda Hamiltonasal
2024-11-01 20:48:02549semak imbas

How to Prevent Text Overflowing the Screen in React Native?

Skrin Melimpah Teks dalam React Native: Menyelesaikan Isu Pembalut

Kod yang dibentangkan mempamerkan elemen React Native dengan kandungan teks yang meluas yang melangkaui sempadan skrin. Objektifnya adalah untuk mengehadkan teks dalam bahagian tengah skrin sambil mengekalkan lebar dinamik 80%.

Penyelesaian:

Untuk menangani isu ini, pengubahsuaian berikut boleh dibuat kepada kod:

  • Alih keluar sifat lebar daripada gaya descriptionContainerHor: Percubaan sebelum ini untuk memanipulasi lebar menggunakan flex: 0.3 telah menyebabkan isu pada saiz skrin yang berbeza. Adalah dinasihatkan untuk mengalih keluarnya untuk mencapai lebar dinamik.
  • Tambah flexShrink: 1 kepada gaya descriptionText: Sifat CSS ini membenarkan teks mengecil jika perlu, memastikan bahawa ia muat dalam ruang yang tersedia.
  • Susun semula bekas induk: Balut paparan descriptionContainerVer dan descriptionContainerVer2 dalam induk baris fleksibel. Ini memastikan bahawa ia menjajarkan secara mendatar, menyelesaikan isu penjajaran.

Kod Kemas Kini Coretan:

<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>

Pengubahsuaian ini akan menghalang teks daripada melangkauinya dengan berkesan skrin dan pastikan ia terkurung dalam sempadan yang diingini sambil mengekalkan lebar dinamik.

Atas ialah kandungan terperinci Bagaimana untuk Menghalang Teks Melimpah Skrin dalam React Native?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn