当前位置: 首页 > 知识库问答 >
问题:

整个应用程序的自定义字体

方韬
2023-03-14

我想更改整个应用程序组件(文本视图、编辑文本、按钮等)的字体。我发现我可以为应用程序设置样式,但在这里我无法将字体从资产文件夹放入自定义样式xml。我必须将我的自定义TTF字体从资产文件夹放到样式xml中的typeface元素中。我无法将单空间字体更改为自定义字体。我的风格是

<resources>
<style name="heading_text">
 <item name="android:textColor">#ff000000</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">16sp</item>
    <item name="android:typeface">monospace</item>      
</style>

共有2个答案

涂煌
2023-03-14

使用实用程序类中的字体这有助于维护整个应用程序的单个实例

private static Typeface typeface;


public static Typeface getTypeFace(Context context) {
    if (typeface == null) {
        typeface = Typeface.createFromAsset(context.getAssets(),
                "Sawasdee-Bold.ttf");
    }
    return typeface;
}
张浩阔
2023-03-14

您好,请访问我的博客http://upadhyayjiteshandroid.blogspot.in/2013/01/android-custom-fonts-part-2.html,您也可以在那里下载代码。

你需要做的是用特别需要的字体创建一个自定义视图,并在任何你想要的地方使用它。

假设有一个用于此目的的textview。java代码如下

package com.jitesh.customfonts;

import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.widget.TextView;

public class CustomTextView extends TextView {

  public CustomTextView(Context context, AttributeSet attrs, int defStyle) {
  super(context, attrs, defStyle);
  init();
 }

  public CustomTextView(Context context, AttributeSet attrs) {
  super(context, attrs);
  init();
 }

  public CustomTextView(Context context) {
  super(context);
  init();
 }

  public void init() {

   Typeface tf = Typeface.createFromAsset(getContext().getAssets(),
    "fonts/HandmadeTypewriter.ttf");
  setTypeface(tf, 1);

  }
}

在xml中使用如下

<com.jitesh.customfonts.CustomTextView
        android:id="@+id/custom1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="70dp"
        android:text="@string/hello_Jitesh"
        tools:context=".MainActivity" >
    </com.jitesh.customfonts.CustomTextView>

还要确保您的字体是可用的资产与字体/HandmadeTypewriter.ttf

 类似资料:
  • 问题内容: 我知道,只需在屏幕上设置元素的自定义字体即可。 我想知道如何使用swift为整个应用程序设置它。(破解将是针对应用程序的每个元素执行我所知道的操作,但这只会成为可维护性的噩梦) 我看到这个问题已经用Objective-C标签问过,如何在不指定大小的情况下为整个iOS应用设置自定义字体,但我对Objective-C不够熟悉,不足以将代码移植到Swift 问题答案: 您可以设置UILabe

  • 问题内容: 我需要为整个应用程序使用某些字体。我有同样的.ttf文件。是否可以在应用程序启动时将此字体设置为默认字体,然后在应用程序中的其他位置使用它?设置后,如何在布局XML中使用它? 问题答案: 是的,反思。这有效(基于此答案): (注意:由于缺乏对自定义字体的支持,因此这是一种解决方法,因此,如果你要更改此情况,请在此处加注星号以投票赞成android问题)。注意:请勿在该问题上留下“我也”

  • 是否可以在Android应用程序中设置自定义字体? 我尝试了这里发布的内容,但我不知道我的扩展应用程序类在哪里。。。 有什么帮助吗? 编辑: 我尝试了以下方法: 添加一个资产文件夹并将字体插入其中,如下所示: > 从我的调用这个新类。 我选择了我的风格并添加了它。 MyApp。java: AndroidManifest。xml: 样式。xml: 但我的字体还是不是长宁。。。有什么想法吗? 然后调用

  • 我想在我的应用程序中使用自定义字体。这是为整个应用程序提供字体的最佳方式。我知道如何将自定义字体分配给单个文本视图或按钮。 是否可以在一个地方提到自定义字体,例如在样式中。xml,字体将应用于整个应用程序(每个文本视图、按钮、编辑文本等)。

  • 我可以为UILable和UIButton的ios中的自定义字体设置Kerning吗? 下面的方法不起作用。字距调整适用于系统字体,但不适用于自定义字体。有人可以帮助解决问题吗?

  • 所以我现在正在做一个需要数字拾取器的应用程序。我已经创建了数字拾取器使用一个按钮textview+按钮布局。t选择器可以正常工作,但当您删除数字并尝试按下任何按钮时,此时应用程序会崩溃。