要在其他平台实现自定义字体可谓是相当的麻烦,但是在Android平台就很简单了。
首先将自定义字体放到“assets”下面被实例化之后再使用,字体文件如下图所示。
在程序中通过如下方式实例化自定义字体:
- Typeface.createFromAsset(getContext().getAssets(),"fonts/samplefont.ttf");
下面是Android默认字体和自定义字体的绘制效果:
- package com.yarin.android.Typefaces;
- import android.app.Activity;
- import android.content.Context;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.Paint;
- import android.graphics.Typeface;
- import android.os.Bundle;
- import android.view.View;
- public class Typefaces extends Activity
- {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(new SampleView(this));
- }
- private static class SampleView extends View
- {
- private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
- private Typeface mFace;
- public SampleView(Context context)
- {
- super(context);
- //实例化自定义字体
- mFace = Typeface.createFromAsset(getContext().getAssets(),
- "fonts/samplefont.ttf");
- //设置字体大小
- mPaint.setTextSize(32);
- }
- @Override protected void onDraw(Canvas canvas)
- {
- canvas.drawColor(Color.WHITE);
- //绘制默认字体
- mPaint.setTypeface(null);
- canvas.drawText("Default:abcdefg", 10, 100, mPaint);
- //绘制自定义字体
- mPaint.setTypeface(mFace);
- canvas.drawText("Custom:abcdefg", 10, 200, mPaint);
- }
- }
- }
好了,就这么简单就实现了自定义字体。
下面是两个非常有用的方法,在这里备份一下:
- //消除锯齿
- paint.setFlags(Paint.ANTI_ALIAS_FLAG)
- //取得字符串宽度
- paint.measureText()
相关推荐
本教程将通过一个名为“android自定义字体Demo”的项目来详细讲解如何在Android应用中实现自定义字体的加载和切换。 首先,我们需要了解Android系统对字体的支持。Android原生支持的字体类型主要是TrueType Font ...
在Android开发中,自定义字体可以为应用增添独特的视觉效果,提升用户体验。"Android 自定义字体Fontinator"是一个专为此目的设计的库,它简化了在Android应用中集成和使用自定义字体的过程。这个库的出现,使得...
在Android应用开发中,自定义字体常常用于提升用户体验和界面设计的独特性。"Smart Fonts for Android" 是一个针对Android Studio的插件,旨在简化开发者在Android应用中集成和使用自定义字体的过程。这个插件提供了...
在Delphi XE10中实现自定义字体是一项常见的任务,尤其对于那些追求程序界面独特性和用户体验的开发者来说。自定义字体可以为应用程序增添个性化色彩,使得信息展示更加吸引人。下面将详细介绍如何在Delphi XE10中...
在Android应用开发中,为了提供更好的用户体验,开发者常常需要对应用程序进行个性化定制,这包括自定义字体和设计独特的启动加载页面。本篇文章将深入探讨这两个关键知识点。 首先,我们来讨论自定义字体在Android...
本文将深入探讨如何实现这一功能,主要基于提供的标题"Android 设置全局字体大小"和描述"通过自定义style,从主题中动态设置app全局字体的Demo"。 首先,我们要理解Android中的文本大小单位。在Android中,我们通常...
博客文章“Android自定义日期选择器源码”可能详细介绍了以下关键点: 1. **自定义View组件**:创建一个新的`View`类,继承自`ViewGroup`,在这个类中,我们需要绘制日期选择器的所有元素,包括背景、网格线、日期...
在Android开发中,自定义控件是提升用户体验和界面独特性的重要手段。本文将深入探讨如何使用自定义Seekbar来实现对网页字体大小的控制。Seekbar,又称滑动条,是Android系统中的一个基本组件,通常用于用户进行数值...
在Android应用开发中,有时为了实现独特的视觉效果或者满足特定的设计需求,我们需要使用自定义字体来替代系统默认的字体。本篇文章将详细介绍如何在Android中实现这一功能,包括步骤和注意事项。 **一、自定义字体...
在创建适配器时,除了提供数据,还可以进一步自定义字体大小。例如,在创建`ArrayAdapter`时,可以重写`getView()`方法: ```java ArrayAdapter<String> adapter = new ArrayAdapter(this, android.R.layout....
《Android自定义控件开发入门与实战》这本书深入浅出地讲解了如何在Android平台上创建和使用自定义控件,旨在帮助开发者从基础知识到实战技巧,全方位掌握这一核心技术。 一、自定义控件基础 自定义控件在Android中...
SpannableString是Android SDK提供的一种可操作字符串对象,允许我们在字符串的不同部分应用不同的格式,如颜色、字体大小、样式等。 首先,我们需要了解TextView的基本属性。TextView是Android UI布局中的一个基本...
在Android应用开发中,自定义字体常常用于提升用户体验和品牌识别度。`Android-AACustomFont`项目就是针对这一需求,通过使用Data Binding库来实现动态加载和应用自定义字体的功能。下面我们将深入探讨如何利用Data ...