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

Minimizar aplicación al SystemTray/Bandeja del Sistema

El SystemTray/Bandeja del Sistema o como también se le llama «Área de Notificación» es la sección de la barra de tareas[...]

Incrustar reporte en formulario java

Jasperreport nos brinda su propio visor de reportes, sin embargo en ocasiones queremos mostrar los informes directamente[...]

Esteganografía y encriptación de imágenes en Linux

En un post anterior conocimos una herramienta Open Source con un conjunto de herramientas para el trabajo con imágenes e[...]

SwingWorker con base de datos

Cuando se realizan aplicaciones en java con base de datos y se llega a un punto donde es necesario realizar una consulta[...]

Default Methods

Uno de los cambios principales introducidos a las interfaces en  Java 8 fue que estos puedan tener métodos concretos, es[...]

Introducción a VueJS framework para el desarrollo FrontEnd

Vue.js es un framework progresivo para la creación de interfaces de usuario de una sola página creado por Evan You. Pero[...]