📅  最后修改于: 2021-01-05 05:11:50             🧑  作者: Mango
在android中,您可以为应用程序中的字符串定义自己的自定义字体。您只需要从Internet下载所需的字体,然后将其放在资产/字体文件夹中即可。
将字体放入fonts文件夹下的assets文件夹后,您可以通过Typeface类在Java代码中访问它。首先,获取代码中文本视图的引用。其语法如下-
TextView tx = (TextView)findViewById(R.id.textview1);
接下来需要做的是调用Typeface类createFromAsset()的静态方法来从资产中获取自定义字体。其语法如下-
Typeface custom_font = Typeface.createFromAsset(getAssets(), "fonts/font name.ttf");
您需要做的最后一件事是将此自定义字体对象设置为TextView Typeface属性。您需要调用setTypeface()方法来执行此操作。其语法如下-
tx.setTypeface(custom_font);
除了这些方法外,Typeface类中还定义了其他方法,可用于更有效地处理字体。
Sr.No | Method & description |
---|---|
1 |
create(String familyName, int style) Create a Typeface object given a family name, and option style information |
2 |
create(Typeface family, int style) Create a Typeface object that best matches the specified existing Typeface and the specified Style |
3 |
createFromFile(String path) Create a new Typeface from the specified font file |
4 |
defaultFromStyle(int style) Returns one of the default Typeface objects, based on the specified style |
5 |
getStyle() Returns the Typeface’s intrinsic style attributes |
这是一个演示使用Typeface处理CustomFont的示例。它创建一个基本应用程序,该应用程序显示您在字体文件中指定的自定义字体。
要试验该示例,您可以在实际设备或仿真器上运行它。
Steps | Description |
---|---|
1 | You will use Android studio IDE to create an Android application under a package com.example.sairamkrishna.myapplication. |
2 | Download a font from internet and put it under assets/fonts folder. |
3 | Modify src/MainActivity.java file to add necessary code. |
4 | Modify the res/layout/activity_main to add respective XML components |
5 | Run the application and choose a running android device and install the application on it and verify the results |
在输入代码部分之前,请从Windows资源管理器在assests文件夹中添加字体。
以下是修改后的主要活动文件MainActivity.java的内容。
package com.example.sairamkrishna.myapplication;
import android.graphics.Typeface;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
TextView tv1,tv2;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1=(TextView)findViewById(R.id.textView3);
tv2=(TextView)findViewById(R.id.textView4);
Typeface face= Typeface.createFromAsset(getAssets(), "font/font.ttf");
tv1.setTypeface(face);
Typeface face1= Typeface.createFromAsset(getAssets(), "font/font1.ttf");
tv2.setTypeface(face1);
}
}
以下是xml activity_main.xml的修改内容。
以下是res / values /字符串.xml的内容。
My Application
以下是AndroidManifest.xml文件的内容。
让我们尝试运行刚刚修改的“自定义字体”应用程序。我假设您在进行环境设置时已创建了AVD 。要从Android Studio运行该应用,请打开您项目的活动文件之一,然后点击运行工具栏上的图标.Android studio将应用程序安装在您的AVD上并启动它,如果设置和应用程序一切正常,它将显示在Emulator窗口下面-
如您所见,AVD上显示的文本不是默认的Android字体,而是具有您在fonts文件夹中指定的自定义字体。
注意-使用自定义字体时,需要注意字体支持的大小和字符。