11

我想以 Arial 字体显示文本。但是 Arial 字体在 android 系统字体中不可用。我不想在我的应用程序中使用 arial ttf 文件。有没有其他方法可以应用 Arial 字体的文本。

4

6 回答 6

10

如果该字体在 android 系统中不可用,那么您必须使用字体文件将该特定字体应用到您的textView. 我想知道您为什么不愿意使用字体文件来申请,因为它提供了相同的功能。

使用字体文件的示例用法是:

Typeface tfArial = Typeface.createFromAsset(getAssets(), "arial.ttf");
TextView tv = null;
// find the textview id from layout or create dynamically
tv.setTypeface(tfArial);

编辑:

您需要将字体文件arial.ttf放在您的asset文件夹中。

于 2013-04-24T06:25:29.007 回答
4

下载 Arial 字体并在资产中使用“字体”创建文件夹名称并将字体保存在那里

Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/arial.ttf");
TextView tv = (TextView) findViewById(R.id.CustomFontText);
tv.setTypeface(tf);
于 2013-04-24T06:30:35.853 回答
1

您可以通过以下方式从 android studio 添加 google 字体系列

  1. xml设计
  2. 添加字体系列然后有limitem字体系列所以点击
  3. 更多字体系列(这是谷歌字体,您可以选择添加字体或可下载字体)
  4. 添加字体然后单击确定,然后字体将添加到您的字体列表中,您可以像使用默认字体一样使用。
于 2021-02-18T10:30:41.523 回答
0

像这样从 Java 代码或 XML 创建一个 TextView

<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:textSize="15sp"
android:textColor="@color/tabs_default_color"
android:gravity="center"
android:layout_height="match_parent"
/>

确保保持 id 原样,因为如果您使用自定义 textview,TabLayout 会检查此 ID

然后从代码中扩展此布局并Typeface在该 textview 上设置自定义并将此自定义视图添加到选项卡

for (int i = 0; i < tabLayout.getTabCount(); i++) {
    //noinspection ConstantConditions
 TextView tv=(TextView)LayoutInflater.from(this).inflate(R.layout.custom_tab,null)
 tv.setTypeface(Typeface);       
 tabLayout.getTabAt(i).setCustomView(tv);

}
于 2017-12-29T14:03:33.203 回答
0

您可以创建自定义字体,只需在“res”内的“fonts”文件夹中添加 .ttf 文件:

在此处输入图像描述

xml 文件包含以下内容:

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
    <font
        android:font="@font/nunito_extrabold"
        android:fontStyle="normal"
        android:fontWeight="400" />
</font-family>

就这样!您可以在每个 TextView 中使用此字体,只需添加android:fontFamily属性。

  <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fontFamily="@font/font_semibold"
        android:text="@string/custom_font"        />
于 2018-06-15T18:17:37.917 回答
0

考虑使用 Calligraphy 在您的 Android 应用程序中添加任何自定义字体。

您无需在每个 TextView 中添加代码即可应用字体。只需在应用程序启动时进行初始化,您就可以开始了。

于 2016-12-05T02:23:41.177 回答