我目前在react-native中编写一个新闻阅读器应用程序,并希望将文章的第一个字母设置为首字母,如下所示:
对于我的第一次尝试,我使用嵌套文本aproach。代码附在下面。这是我目前的结果:
渲染函数中的代码:
<View style={styles.container}>
<Text style={styles.text}>
<Text style={styles.initial}>W</Text>
<Text>
elcome to React Native! To get started, edit index.android.js To get started, edit index.android.js To get started, edit index.android.js
</Text>
</Text>
</View>
我的样式表:
const fontSize = 14;
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#F5FCFF',
},
initial: {
fontSize: fontSize * 2,
},
text: {
fontSize: fontSize,
color: '#333333',
},
});
我的问题: 我如何设计我的第一个字符以获得一个很好的初始值?
环境
答案 0 :(得分:0)
这是一种方法:
export default class DemoProject extends Component {
render() {
return (
<View style={styles.container}>
<Text style={[styles.textCommon, styles.firstLetter]}>W</Text>
<Text>elcome</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
flexDirection: 'row'
},
textCommon: {
color: '#333333',
},
firstLetter: {
fontSize: 23,
}
});
答案 1 :(得分:0)
您也可以尝试这种方式,为父文本元素添加常规样式,为“W”文本子元素添加所需样式。
export default class DemoProject extends Component {
render() {
return (
<View style={styles.container}>
*<Text>
<Text style={[styles.textCommon, styles.firstLetter]}>W</Text>
elcome</Text>*
</View>
);
}
}
text: {
fontSize: fontSize,
color: '#333333',
}
答案 2 :(得分:-2)
我认为这是您问题的最佳解决方案
How can I make the first letter push itself into the paragraph like a newspaper style?
将css转换为react-style