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

ArrayDeque: Cola doblemente terminada

Una cola doblemente terminada o deque es una estructura de datos lineal que permite insertar y eliminar elementos por am[...]

Generador de código para Netbeans

El IDE Netbeans al igual que Eclipse :), nos permite personalizar el espacio de trabajo y añadir funcionalidades que nos[...]

Procedimientos almacenados en java

En este tuto realizaremos la implementación y ejecución de procedimientos almacenados de MySQL en Java, si quieres darle[...]

Obtener Metadatos de una base de datos con java

La clase de java DatabaseMetaData nos permite obtener información exhaustiva sobre una base de datos, para ser más exact[...]

Gráficos Vectoriales SVG

Las imagenes SVG (Scalable Vector Graphics) (Ver Wikipedia) son un tipo de imagen ya bastante antiguo pero poco conocido[...]

Libreria swing BlackTabbedPane

Continuación del tutorial [Personalizar JTabbedPane con Netbeans]. La clase BlackTabbedPaneUI que extendemos de BasicTab[...]