react-native - 在本机反应中显示内联文本
问题描述
有什么办法可以在图片中显示这样的文字吗?
这是我当前的代码:
render() {
return (
<View style={{flex: 1}}>
<ScrollView scrollEnabled={true}>
<View style={{ flexDirection: 'row' }}>
<Text style={styles.badge}>lorem</Text>
<Text style={styles.badge}>lorem ipsum lorem</Text>
<Text style={styles.badge}>lorem</Text>
<Text style={styles.badge}>lorem ipsum lorem</Text>
<Text style={styles.badge}>lorem</Text>
<Text style={styles.badge}>lorem ipsum lorem</Text>
<Text style={styles.badge}>lorem</Text>
<Text style={styles.badge}>lorem ipsum lorem</Text>
</View>
</ScrollView>
</View>
);
}
const styles = StyleSheet.create({
badge: {
backgroundColor: '#f16622',
color: '#fff',
padding: 5,
marginRight: 5,
alignSelf: 'flex-start',
borderRadius: 4
}
});
但是我的代码无法像我想要的图片那样显示。它没有全部显示,而是变成了这样:
解决方案
您需要将子元素包装在View
. 使用 flexbox,你有flexWrap属性,它定义了 flex 项目是强制在一行中还是可以被包裹。默认情况下,它设置为 nowrap。将其设置为换行:更改<View style={{ flexDirection: 'row' }}>
为<View style={styles.badgeContainer}>
<View style={styles.badgeContainer}>
<Text style={styles.badge}>lorem</Text>
<Text style={styles.badge}>lorem ipsum lorem</Text>
<Text style={styles.badge}>lorem</Text>
<Text style={styles.badge}>lorem ipsum lorem</Text>
<Text style={styles.badge}>lorem</Text>
<Text style={styles.badge}>lorem ipsum lorem</Text>
<Text style={styles.badge}>lorem</Text>
<Text style={styles.badge}>lorem ipsum lorem</Text>
</View>
并尝试将以下样式应用于徽章容器View
。
badgeContainer:{
flex:1,
flexDirection: 'row',
flexWrap: 'wrap'
}
推荐阅读
- python - 在模板中显示“python manage.py test”的结果
- c# - 我怎样才能使这个多态演示编译?
- android-studio - 自定义视图不会在 Android Studio 的设计视图中呈现?
- angular - 天蓝色广告角度教程
- javascript - 表格中的滑动切换冲突
- python - 给定 2 个字符串 str 和 word,你必须找到从给定字符串中可以组成多少个单词
- pandas - 带有 Pandas 和 BeautifulSoup Scraper 的新复制行
- datasource - 无法加载驱动程序:用于 Weblogic12c 的 impala-2.6.15.1017
- reactjs - 如何从函数访问状态
- php - PHP max_execution_time 对性能的影响