android - 如何在 Android 中为整个应用程序设置自定义字体?

标签 android android-fonts

是否可以在 Android 应用程序中设置自定义字体?

我尝试了 here 发布的内容,但我不知道我的 extends Application 类在哪里...

有什么帮助吗?

编辑:

我尝试了以下方法:

  • 添加一个 Assets 文件夹并在其中插入字体,如下所示:

enter image description here

  • 添加一个从 Application

  • 扩展的新类
  • 从我的 AndroidManifest.xml 调用这个新类。

  • 我去了我的风格并添加了它。

MyApp.java:

public class MyApp extends Application {
  @Override
  public void onCreate() {
     super.onCreate();
    FontsOverride.setDefaultFont(this, "DEFAULT", "raleway_regular.ttf");
    //  This FontsOverride comes from the example I posted above
  }
  }

AndroidManifest.xml:

<application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:name=".MyApp"
      android:theme="@style/AppTheme">
     ....

styles.xml:

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:fontFamily">default</item>
 </style>

但我的字体仍然没有改变...有什么想法吗?

然后调用 MyApp 类。但对我的字体没有影响...

EDIT2:我意识到在我为按钮设置自定义样式后,我的按钮会应用自定义字体。这是我的自定义按钮样式:

<style name="MyButtonStyle" parent="Widget.AppCompat.Button">
    <item name="textAllCaps">false</item>
    <item name="android:textAllCaps">false</item>
</style>

这是它现在的样子:

enter image description here

所以:我的按钮正在应用样式,而不是 TextView。关于为什么我的自定义字体没有应用于应用程序中的所有项目的任何想法?

最佳答案

我所做的只是:

1:在RES文件夹中添加“新资源目录”,从给定的下拉列表中选择RESOURCE TYPE为“字体”,将新目录命名为“字体”并保存。 NEW RESOURCE DIRECTORY

2:将我的“custom_font.ttf”添加到刚刚创建的 FONT 文件夹中。

3:在 STYLES.XML 的应用程序基础主题中添加了我的自定义字体

STYLES.XML

完成。

关于android - 如何在 Android 中为整个应用程序设置自定义字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33923803/

相关文章:

android - 将新字体安装到 Android 模拟器的最佳方法是什么?

java - 在某些设备上无法 ParseDouble

Android Studio - 启动器 Activity 未启动

java - 如何检测安卓手机3G On Off事件

android - 如何防止系统字体大小改变对android应用程序的影响?

Android:想要为整个应用程序而不是运行时设置自定义字体

Android 自定义字体无法以编程方式工作

android - 进度条周围的边框

java - 如何停止使用 prepare() 和 startService() 调用的 VpnService?

android - 更改字体重新启动 Activity