android - react native 选择器样式自定义字体

标签 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 字体?

最佳答案

我能够按照官方步骤使用自定义字体系列 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>

关于android - react native 选择器样式自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48889888/

相关文章:

java - 为 ListView 只使用一个 AlertDialog

java - 在包 'paddingEnd' 中找不到属性 'android' 的资源标识符

java - 从照片的 EXIF 数据中读取地理坐标

android - 有时不调用 RealmChangeListener

reactjs - 解决 Expo 和 React Native 的依赖冲突

ios - 在 native 应用程序中访问 package.json 版本和构建变量的最佳方法?

reactjs - 使用 React Native 隐藏状态栏

java - 如何在一个ListView中显示一个String数组和一个Integer数组

javascript - 使用效果对原生 React-navigation 过渡使用react

reactjs - 使用redux-thunk和直接调用dispatch()有什么区别