react-native picker样式自定义字体

时间:2018-02-20 16:30:31

标签: android react-native

我正在使用我在res / values / styles.xml中的styles.xml文件中成功自定义的Picker组件:

<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:spinnerItemStyle">@style/SpinnerItem</item>
<item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItem</item>
</style>

<style name="SpinnerItem">
<item name="android:fontFamily">Lato-Bold</item>
<item name="android:textSize">20dp</item>
</style>
<style name="SpinnerDropDownItem">
<item name="android:fontFamily">Lato-Bold</item>
<item name="android:padding">10dp</item>
<item name="android:textSize">16dp</item>
<item name="android:textColor">#ffffff</item>
<item name="android:background">#000000</item>
</style>
</resources>

目前我的自定义fontFamily:Lato-Bold被忽略了。有谁知道如何让自定义Spinner字体起作用?

1 个答案:

答案 0 :(得分:0)

按照官方步骤here,我可以使用自定义字体系列。

但是,当我遵循该指南时,有些事情并不清楚,因此这里总结了您需要采取的步骤(请不要跳过阅读官方指南,因为这只是对它的补充) :

  1. 创建一个新的字体资源目录(res/font
  2. 在此处添加字体文件。您的文件名中不得包含a-z0-9_以外的任何字符(必须小写)。例如:res/font/lato_bold.ttf
  3. 创建字体系列文件。在我们的示例中,它将为res/font/lato.xml,并具有以下内容:
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
    <font
        android:fontStyle="normal"
        android:fontWeight="700"
        android:font="@font/lato_bold" />
</font-family>
  1. 按照以下自定义样式引用字体:
<item name="android:fontFamily">@font/lato_bold</item>