Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Android / Cargar fuente TTF

Cargar fuente TTF

Por jc mouse jueves, marzo 23, 2017

Necesitamos:

  • Android Studio
  • 2 tipos de fuente TTF

Agregar Archivo de fuente al proyecto

Paso 1: Crear carpeta assets

Clic derecho sobre «app» → New → Folder → Assets Folder y presionamos el boton Finish

Paso 2: crear carpeta de fuentes

dentro de la carpeta que creamos, clic derecho → Directory, escribimos «fonts» y presionamos OK para crear la capeta.

Paso 3: Archivos TTF

Agrega los archivos TTF a la carpeta «fonts» ya sea arrastrando las fuentes con el mouse o con un Cortar/Pegar

MÉTODO 1

El Layout

En el layout que se creo por defecto, editamos el TexView de la siguiente manera:

    <TextView
        android:id="@+id/textview"
        android:textSize="42sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />

El Código

en onCreate añadimos el siguiente código:

//se declara texview
TextView textview = (TextView) findViewById( R.id.textview );
//se carga la fuente de la carpeta ASSETS
Typeface myTypeface = Typeface.createFromAsset(getAssets(), "fonts/Amatic-Bold.ttf");
//se asigna fuente al control Textview
textview.setTypeface(myTypeface);

typefont

MÉTODO 2

El Código

Creamos una clase llamada «MyTextView» y pegamos el siguiente código:

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

/**
 * Clase MyTextView
 */
public class MyTextView extends TextView {

    private final String nameFont="OldLondon.ttf";

    public MyTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/" + nameFont);
        setTypeface(tf);
    }

    public MyTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/" + nameFont);
        setTypeface(tf);
    }

    public MyTextView(Context context) {
        super(context);
        Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/" + nameFont);
        setTypeface(tf);
    }

}

a continuación abrimos el layout «activity_main.xml» y agregamos:

    <net.jc_mouse.ejemplofuente.MyTextView
        android:textSize="42sp"
        android:layout_below="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />

donde net.jc_mouse.ejemplofuente son los paquetes donde se encuentra la clase  «MyTextView»

Si abrimos el layout en modo diseño, observaremos dos textview, el primero corresponde al «Metodo 1«, y el segundo a este método, ambos están igual, esto se debe a que la clase a la que hace referencia el control MyTextView no esta compilado.

no compilado

Para solucionar este problemilla, clic en el menú Buils → Rebuils Project y esperamos unos segundos

compilado

Y ya podremos ver la fuente tal cual se presentara en el dispositivo

UK font

enjoy!!!

Tags

Artículos similares

Gráficos estadísticos con Base de Datos SQLite

Si necesitamos mostrar gráficos estadísticos en nuestras aplicaciones android, contamos con muchas librerías disponibles[...]

Pon a prueba tus conocimientos sobre comandos Linux

Como dice un viejo dicho, «La practica hace al maestro» y en el mundo de la programación no es diferente, por eso siempr[...]

Encriptación por el método bífido

El método Bífido es un cifrado fraccionario. Es decir que cada letra viene representada por una o más letras o símbolos,[...]

Introducción a Retrofit: Cliente para consumir un API REST

La página oficial de Retrofit, se describe así misma como «Un cliente REST seguro para Android y Java».  Y es así, ya qu[...]

Conversor decimal a binario

Desde que Google anuncio de que dejara de dar soporte al plugin de Eclipse y se concentrara en Android Studio, quienes t[...]

Agregar soporte para JNLP en servidor Apache

Java Network Launching Protocol (JNLP) es una especificación usada por Java Web Start. Esta especificación, permite tene[...]