每当我在元素中放入一个超过5个字符的字符串时,最后一个字符串不会被渲染。 这是我的代码和输出的字符串。
const Header = () => {
const { textStyles, viewStyles } = styles;
return (
<View style={viewStyles}>
<Text style={textStyles}>Albums</Text>
</View>
);
};
const styles = {
viewStyles: {
backgroundColor: '#F8F8F8',
alignItems: 'center',
justifyContent: 'center',
height: 60,
paddingTop: 15,
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
elevation: 2
},
textStyles: {
fontSize: 20
},
};
输出字符串:
Album
如果我将Text元素中的字符串更改为'Albums!'
,则输出将为Albums
。它总是显示n-1个字符。
答案 0 :(得分:2)
我测试了你的代码伙伴它的工作正常
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
const Header = () => {
const { textStyles, viewStyles } = styles;
return (
<View style={viewStyles}>
<Text style={textStyles}>Albums!!!!</Text>
</View>
);
};
export default class App extends React.Component {
render() {
return (
<View>
<Header></Header>
</View>
);
}
}
const styles = StyleSheet.create({
viewStyles: {
backgroundColor: '#F8F8F8',
alignItems: 'center',
justifyContent: 'center',
height: 60,
paddingTop: 15,
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
elevation: 2
},
textStyles: {
fontSize: 20
},
});
这是输出
答案 1 :(得分:1)
我在OnePlus 6上遇到了同样的问题。
我通过使用textAlign: "center"
而不是alignItems: "center"
来解决它。
我建议将您的styles
更改为:
const styles = {
viewStyles: {
backgroundColor: '#F8F8F8',
justifyContent: 'center',
height: 60,
paddingTop: 15,
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
elevation: 2
},
textStyles: {
fontSize: 20,
textAlign: "center"
},
};
答案 2 :(得分:0)
Manually applying a font may fix this issue
Here's how using expo / Here's how in vanilla react native
如果您不想跟随这些链接,请快速浏览以下内容:
新建一个文件夹(例如assets/fonts/
)来保存字体的ttf文件here's a link to roboto
将.ttf
文件直接复制到您创建的目录(例如assets/fonts/Roboto-Regular.ttf
)
将rnpm资产配置添加到您的package.json
(使用上面的新文件夹,我们的示例为assets/fonts/
,但是您可以使用所需的任何文件夹。
"rnpm": {
"assets": [
"./assets/fonts/"
]
}
在终端上执行react-native link
在上面的示例中,我们使用Roboto,将Roboto替换为您下载的任何字体系列。如果您使用的是Mac,但不知道字体系列,则可以使用font book.app
默认应用来查找名称。
<Text style={{ fontFamily: 'Roboto' }}>Some Text Here</Text>
答案 3 :(得分:0)
我认为您只需要在文本或父视图中添加宽度
答案 4 :(得分:0)
也许您可以将其包裹起来,并为两个标签设置'100%'的宽度。
<View style={{flex:1,alignItems:'center', justifyContent:'center', width:'100%'}}>
<Text style={{width:'100%', fontWeight:'bold', fontSize: 12, textAlign:'center'}}> Whatever the text you want to write here..!!</Text>
</View>
答案 5 :(得分:0)
请像这样用空值添加所有组件fontFamily:“”样式。示例:
<Text style={{color:'red', fontFamily: "", fontSize:20}}> Hasan Rıza UZUNER </Text>