【问题标题】:Custom font not showing on device自定义字体未显示在设备上
【发布时间】:2018-09-22 13:18:26
【问题描述】:

我正在尝试按照site 上的“XML 字体”教程添加自定义字体。我严格按照教程进行操作,并检查了很多次以找到我错过的东西,但我就是看不到它。我添加的字体是一个TTF文件。

在设计器中,我可以选择我的字体系列,TextView 中的文本会更改为我添加的自定义字体。但是,当我在设备上运行应用程序时,文本默认为常规字体。 Android Studio 中包含的字体不会发生这种情况。

附加问题:当我尝试另一种自定义字体时,TextView 中的文本更改为自定义字体,但文本本身(内容)也更改为一些乱码。这是表示字体不好还是其他原因?

sv_regular.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="400"
        android:font="@font/sv_font_regular" />

</font-family>

文本视图

<TextView
    android:id="@+id/toolbar_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:fontFamily="@font/sv_regular"
    android:text="@string/app_name" />

【问题讨论】:

  • 您能否发布一些您尝试过的代码,这样我们不会猜测而是实际解决具体问题?顺便说一句,作为一名 android 工程师,我不认为该教程是在 android 应用程序中处理自定义字体的最佳方法。
  • 代码实际上是从教程中复制粘贴的,除了字体名称,这就是我没有发布它的原因。你会推荐什么来实现自定义字体?
  • 对于第二个问题,字体可能不支持内容。
  • 另外,你试过换字体吗?
  • 我会建议类似于 Kishan Verna 建议的东西......基本上,我总是为这些“自定义字体”做的事情如下:1)制作CustomTextView extends TextView 2)制作@ 987654325@ 自定义属性 3) 将自定义字体放在assets/ 文件夹中 4) 创建一个与自定义字体一起使用的FontManager 类 5) 使CustomTextView 构造函数在其构造函数中应用自定义字体。 6) 在所有 XML 中使用 CustomTextView 而不是 TextView

标签: android fonts


【解决方案1】:

您可以通过编程方式完成此操作

在您的资产文件夹中添加外部字体

1.转到(项目文件夹)

2。然后 app>src>main

3.在主文件夹中创建文件夹“assets>fonts”。

4.将您的“abc.ttf”放入字体文件夹。

TextView tx = (TextView)findViewById(R.id.textview1);

Typeface custom_font = Typeface.createFromAsset(getAssets(),"fonts/abc.ttf");

tx.setTypeface(custom_font);

【讨论】:

    【解决方案2】:

    您的字体是否完全支持文本的语言?当字体不支持某些字符(如西里尔文)时,会出现此问题。还有一个:尝试在TextView中使用sv_font_regular

    android:fontFamily="@font/sv_font_regular"

    Example

    【讨论】:

    • 正如我所说,在 Android Studio 设计器中,我的 TextView 的内容是用自定义字体编写的,没有错误。没有西里尔字母或类似的东西,因为我不使用它。我没有在字体名称中使用大字符(我什至现在删除了下划线只是为了确定,但仍然没有)。
    猜你喜欢
    • 2013-03-31
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 2012-12-28
    相关资源
    最近更新 更多