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

Material Design: Notificaciones (Snackbar)

Material Design introduce una nueva forma de mostrar notificaciones al usuario, estos son los snackbar, similares a los[...]

Ejercicios Resueltos C Sharp

1. Dado N números enteros ingresados por teclado, determine el promedio de estos 01 static void Main(string[] args) 02 {[...]

Juego: Adivina el número

Problema: Desarrollar un juego en consola con Kotlin que genere un numero aleatorio entre un rango preestablecido y perm[...]

Operador de Complemento bit a bit «~»

Operador de Complemento bit a bit unario Entre los operadores a nivel de bits de uso más común en java tenemos al operad[...]

Configurar JavaBeans como DataSource en iReports

Los JavaBeans son clases que encapsulan objetos en un solo objeto (beans). Son fáciles de crear y pueden contener muchos[...]

Encriptación simétrica en java

En este post veremos un ejemplo sencillo de encriptación/desencriptación simétrica que el API de Java nos permite realiz[...]