具有不同字体的react-native嵌套文本(首字母,首字母)

时间:2017-05-30 09:08:10

标签: text font-size react-native

我目前在react-native中编写一个新闻阅读器应用程序,并希望将文章的第一个字母设置为首字母,如下所示:

An example of an initial

对于我的第一次尝试,我使用嵌套文本aproach。代码附在下面。这是我目前的结果:

Result with react-native

渲染函数中的代码:

<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',
    },
});

我的问题: 我如何设计我的第一个字符以获得一个很好的初始值?

环境

  • 反应:16.0.0-alpha.6
  • react-native:0.44.2
  • 模拟Nexus 5上的Android 6.0

3 个答案:

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