鍍金池/ 教程/ Android/ Android自定義字體
Android 應(yīng)用組件
使用布局文件自定義Android組件
Android通知
Android主題示例
Android JetPlayer實例
Android MediaPlayer(多媒體播放)
Android AbsoluteLayout
Android FrameLayout
Android Gestures/手勢
Android AutoCompleteTextView(自動完成)實例
Android 資源組織和訪問
Android ListView
Android GridView
Android數(shù)據(jù)備份
Android撥打電話
Android發(fā)送短信/SMS
Android ProgressDialog
SimpleCursorAdapter
Android發(fā)送電子郵件
Android Activity
Android TextView
Android事件處理
Android TableLayout
Android加載Spinner
Android內(nèi)容提供者
Android自定義字體
Android Service
Android CheckBox
Android Intent過濾器
Android LinearLayout
Android登錄實例
Android RadioButton
Android樣式和主題
Android自定義組件及屬性
Android UI控件
Android Animation(動畫)實例
Android Camera(攝像頭)
Android ToggleButton
Android Clipboard(復(fù)制/剪貼板)
Android音頻捕獲(錄音)
發(fā)布Android應(yīng)用
Android Alertdialog(警告對話框)
Android圖片效果
Android內(nèi)部存儲
Android基于位置服務(wù)
Android RadioGroup
Android AutoCompleteTextView
Android Bluetooth(藍牙)實例
Android RelativeLayout
Android最佳實踐
Android本地化
Android自定義組件
Android教程
Android 架構(gòu)
Android UI布局
Android Button
Android Hello World示例
Android音頻管理器實例
ArrayAdapter
Android拖放
Android碎片/片段
Android圖片切換
Android JSON解析器
Android開發(fā)環(huán)境搭建
Android Spinner
Android樣式示例
使用活動代碼自定義Android組件
Android ImageButton
Android EditText
Android廣播接收器

Android自定義字體

在Android中,可以定義自己的自定義字體,在應(yīng)用程序中的字符串。只需要從互聯(lián)網(wǎng)上下載所需的字體,然后將其放置在 assets/fonts 文件夾中。

在字體文件放到 assets/fonts 文件夾后,在Java代碼中可以通過 Typeface類訪問它。首先,獲取在代碼文本視圖的參考。它的語法如下: 

TextView tx = (TextView)findViewById(R.id.textview1);

需要做的下一件事就是調(diào)用Typeface類的createFromAsset()靜態(tài)方法,從assets的自定義字體。它的語法如下:

Typeface custom_font = Typeface.createFromAsset(getAssets(), "fonts/font name.ttf");

需要做的最后一件事就是這個自定義字體對象設(shè)置TextView的字體屬性。需要調(diào)用setTypeface()方法來做到這一點。它的語法如下: 

tx.setTypeface(custom_font);

除了這些方法,還有在字體類中定義的其它方法,可以使用更有效地處理字體。

Sr.No 方法及說明
1 create(String familyName, int style)
創(chuàng)建給定一個familyName 字體Typeface對象,并選擇樣式信息
2 create(Typeface family, int style)
創(chuàng)建一個字體對象指定的現(xiàn)有字體和指定的風(fēng)格最適合
3 createFromFile(String path)
創(chuàng)建一個從指定的字體文件的新字體
4 defaultFromStyle(int style)
返回一個默認的字體對象的基礎(chǔ)上指定的樣式
5 getStyle()
返回字樣的內(nèi)在樣式屬性

例子

這里有一個例子演示如何使用字體的處理CustomFont。它創(chuàng)建一個顯示字體文件中指定的自定義字體的基本應(yīng)用。

為了試驗這個例子,可以在實際設(shè)備或模擬器運行此程序。

Steps 描述
1 使用Eclipse IDE創(chuàng)建Android應(yīng)用程序,并將其命名為CustomFonts。在創(chuàng)建這個項目,確保目標(biāo)SDK編譯在Android SDK中的最新版本或使用更高級別的API
2 從互聯(lián)網(wǎng)上下載的字體,并把它在assets/fonts文件夾中
3 修改src/MainActivity.java文件中添加必要的代碼
4 修改 res/layout/activity_main.xml添加相應(yīng)的XML組件
5 修改res/values/string.xml 添加必要的字符串
6 運行應(yīng)用程序并選擇運行Android設(shè)備,并在其上安裝的應(yīng)用和驗證結(jié)果

以下是修改后的主活動文件的內(nèi)容 src/com.yiibai.customfonts/MainActivity.java.

package com.example.customfonts;

import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      TextView tx = (TextView)findViewById(R.id.hello);
      Typeface custom_font = Typeface.createFromAsset(getAssets(),
      "fonts/Erika Type.ttf");
      tx.setTypeface(custom_font);
   }

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }
}

以下是XML的經(jīng)修改的內(nèi)容 res/layout/activity_main.xml.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical">

   <TextView
      android:id="@+id/hello"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:textSize="70dip"
      android:text="@string/hello_world" />

</LinearLayout>

以下是 res/values/string.xml.的內(nèi)容

<?xml version="1.0" encoding="utf-8"?>
<resources>

   <string name="app_name">CustomFonts</string>
   <string name="action_settings">Settings</string>
   <string name="hello_world">Hello</string>

</resources>

以下是 AndroidManifest.xml 的內(nèi)容.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android上一篇:使用布局文件自定義Android組件下一篇:Android樣式和主題