React Native选择控件样式自定义字体

3

我正在使用Picker组件,在我的styles.xml文件中成功地进行了自定义:

<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 字体起作用吗?


我也对此很感兴趣,我尝试按照这些说明添加字体:https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html,但是没有成功。如果我在res/font目录中添加一个新的字体“quicksand”,那么这对我没有作用。<style name="SpinnerItem" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:fontFamily">@font/quicksand</item> </style> - peterholcomb
1个回答

0

我按照官方步骤这里成功使用了自定义字体。

然而,在遵循该指南时,有些事情并不是那么清晰,因此在这里总结了您需要采取的步骤(请不要跳过阅读官方指南,因为这只是对其的补充):

  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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接