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

Impresión de reportes

Existen diferentes métodos par imprimir reportes hechos con JasperReport en aplicaciones hechas en java, en este post te[...]

Lo nuevo de HTTP Client

Una de las novedades de Java 9 y 10 aunque por el momento en modo de prueba (jdk.incubator.http) es el Cliente HTTP el c[...]

Java Webservices – Servicios Web

Un servicio web (Web Services) es un sistema de software en la web que nos ofrece la posibilidad de realizar una o múlti[...]

Números narcisistas o de Armstrong

Los números narcisistas o números de Armstrong son aquellos números enteros positivos  cuya suma de las n-ésim[...]

Anima tus fotografias con esta IA (Gratis)

En este post te enseño a usar una herramienta de Inteligencia Artificial para animar tus fotografias y esto completament[...]

Configura tu smartphone y PC para testear aplicaciones

Cuando desarrollamos aplicaciones para android como programadores nos interesa la velocidad al tiempo de depurar el códi[...]