`
w1985chun
  • 浏览: 106878 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
社区版块
存档分类
最新评论

Android自定义字体

阅读更多

要在其他平台实现自定义字体可谓是相当的麻烦,但是在Android平台就很简单了。

首先将自定义字体放到“assets”下面被实例化之后再使用,字体文件如下图所示。


在程序中通过如下方式实例化自定义字体:

  1. Typeface.createFromAsset(getContext().getAssets(),"fonts/samplefont.ttf");  

下面是Android默认字体和自定义字体的绘制效果:

  1. package com.yarin.android.Typefaces;    
  2.   
  3. import android.app.Activity;  
  4. import android.content.Context;  
  5. import android.graphics.Canvas;  
  6. import android.graphics.Color;  
  7. import android.graphics.Paint;  
  8. import android.graphics.Typeface;  
  9. import android.os.Bundle;  
  10. import android.view.View;    
  11.   
  12. public class Typefaces extends Activity  
  13. {  
  14.     /** Called when the activity is first created. */  
  15.     @Override  
  16.     public void onCreate(Bundle savedInstanceState)  
  17.     {  
  18.         super.onCreate(savedInstanceState);    
  19.   
  20.         setContentView(new SampleView(this));  
  21.     }    
  22.   
  23.     private static class SampleView extends View  
  24.     {  
  25.         private Paint    mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);  
  26.         private Typeface mFace;    
  27.   
  28.         public SampleView(Context context)  
  29.         {  
  30.             super(context);  
  31.             //实例化自定义字体  
  32.             mFace = Typeface.createFromAsset(getContext().getAssets(),
  33.                     "fonts/samplefont.ttf");  
  34.             //设置字体大小  
  35.             mPaint.setTextSize(32);  
  36.         }    
  37.   
  38.         @Override protected void onDraw(Canvas canvas)  
  39.         {  
  40.             canvas.drawColor(Color.WHITE);  
  41.             //绘制默认字体  
  42.             mPaint.setTypeface(null);  
  43.             canvas.drawText("Default:abcdefg"10100, mPaint);  
  44.             //绘制自定义字体  
  45.             mPaint.setTypeface(mFace);  
  46.             canvas.drawText("Custom:abcdefg"10200, mPaint);  
  47.         }  
  48.     }  
  49. }  

好了,就这么简单就实现了自定义字体。
下面是两个非常有用的方法,在这里备份一下:

  1. //消除锯齿  
  2. paint.setFlags(Paint.ANTI_ALIAS_FLAG)  
  3. //取得字符串宽度  
  4. paint.measureText()  

分享到:
评论

相关推荐

    android 自定义字体Demo

    本教程将通过一个名为“android自定义字体Demo”的项目来详细讲解如何在Android应用中实现自定义字体的加载和切换。 首先,我们需要了解Android系统对字体的支持。Android原生支持的字体类型主要是TrueType Font ...

    Android 自定义字体Fontinator.zip

    在Android开发中,自定义字体可以为应用增添独特的视觉效果,提升用户体验。"Android 自定义字体Fontinator"是一个专为此目的设计的库,它简化了在Android应用中集成和使用自定义字体的过程。这个库的出现,使得...

    Android-SmartFontsforAndroid轻轻松松使用Android自定义字体

    在Android应用开发中,自定义字体常常用于提升用户体验和界面设计的独特性。"Smart Fonts for Android" 是一个针对Android Studio的插件,旨在简化开发者在Android应用中集成和使用自定义字体的过程。这个插件提供了...

    delphi XE10实现自定义字体

    在Delphi XE10中实现自定义字体是一项常见的任务,尤其对于那些追求程序界面独特性和用户体验的开发者来说。自定义字体可以为应用程序增添个性化色彩,使得信息展示更加吸引人。下面将详细介绍如何在Delphi XE10中...

    android自定义字体和程序启动时的加载页面

    在Android应用开发中,为了提供更好的用户体验,开发者常常需要对应用程序进行个性化定制,这包括自定义字体和设计独特的启动加载页面。本篇文章将深入探讨这两个关键知识点。 首先,我们来讨论自定义字体在Android...

    Android 设置全局字体大小

    本文将深入探讨如何实现这一功能,主要基于提供的标题"Android 设置全局字体大小"和描述"通过自定义style,从主题中动态设置app全局字体的Demo"。 首先,我们要理解Android中的文本大小单位。在Android中,我们通常...

    Android自定义日期选择器源码

    博客文章“Android自定义日期选择器源码”可能详细介绍了以下关键点: 1. **自定义View组件**:创建一个新的`View`类,继承自`ViewGroup`,在这个类中,我们需要绘制日期选择器的所有元素,包括背景、网格线、日期...

    android自定义seekbar来控制网页字体大小

    在Android开发中,自定义控件是提升用户体验和界面独特性的重要手段。本文将深入探讨如何使用自定义Seekbar来实现对网页字体大小的控制。Seekbar,又称滑动条,是Android系统中的一个基本组件,通常用于用户进行数值...

    Android使用自定义字体的方法

    在Android应用开发中,有时为了实现独特的视觉效果或者满足特定的设计需求,我们需要使用自定义字体来替代系统默认的字体。本篇文章将详细介绍如何在Android中实现这一功能,包括步骤和注意事项。 **一、自定义字体...

    android spinner 自定义 字体大小

    在创建适配器时,除了提供数据,还可以进一步自定义字体大小。例如,在创建`ArrayAdapter`时,可以重写`getView()`方法: ```java ArrayAdapter<String> adapter = new ArrayAdapter(this, android.R.layout....

    Android自定义控件开发入门与实战.zip

    《Android自定义控件开发入门与实战》这本书深入浅出地讲解了如何在Android平台上创建和使用自定义控件,旨在帮助开发者从基础知识到实战技巧,全方位掌握这一核心技术。 一、自定义控件基础 自定义控件在Android中...

    android设置TextView中不同的文字字体大小且垂直居中显示

    SpannableString是Android SDK提供的一种可操作字符串对象,允许我们在字符串的不同部分应用不同的格式,如颜色、字体大小、样式等。 首先,我们需要了解TextView的基本属性。TextView是Android UI布局中的一个基本...

    Android-AACustomFont利用Databinding来实现自定义字体功能

    在Android应用开发中,自定义字体常常用于提升用户体验和品牌识别度。`Android-AACustomFont`项目就是针对这一需求,通过使用Data Binding库来实现动态加载和应用自定义字体的功能。下面我们将深入探讨如何利用Data ...

Global site tag (gtag.js) - Google Analytics