¿Puedo cambiar la fuente de salida de un teclado personalizado de Android?

He desarrollado un teclado personalizado android. Necesito cambiar el estilo de fuente de mi texto de salida que realmente se imprimen usando los unicodes.

¿Cómo puedo cambiar el estilo de fuente de la salida de texto de mi teclado en cualquier parte del dispositivo sin tener que cambiar la fuente predeterminada del dispositivo?

La fuente tampoco está en el dispositivo android, así que tenemos que privide la fuente externa desde la misma aplicación que está desarrollando el teclado.

Cambiando el estilo de fuente dentro de la aplicación.

Crear una clase simple llamada

FontOverride

import java.lang.reflect.Field; import android.content.Context; import android.graphics.Typeface; public final class FontsOverride { public static void setDefaultFont(Context context, String staticTypefaceFieldName, String fontAssetName) { final Typeface regular = Typeface.createFromAsset(context.getAssets(), fontAssetName); replaceFont(staticTypefaceFieldName, regular); } protected static void replaceFont(String staticTypefaceFieldName, final Typeface newTypeface) { try { final Field staticField = Typeface.class .getDeclaredField(staticTypefaceFieldName); staticField.setAccessible(true); staticField.set(null, newTypeface); } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } } 

Ahora cree otra clase para anular las fuentes nombradas

Solicitud

 public final class Application extends android.app.Application { @Override public void onCreate() { super.onCreate(); FontsOverride.setDefaultFont(this, "DEFAULT", "fonts/GeezEdit.ttf"); FontsOverride.setDefaultFont(this, "MONOSPACE", "fonts/GeezEdit.ttf"); /*FontsOverride.setDefaultFont(this, "MONOSPACE", "MyFontAsset2.ttf"); FontsOverride.setDefaultFont(this, "SERIF", "MyFontAsset3.ttf"); FontsOverride.setDefaultFont(this, "SANS_SERIF", "MyFontAsset4.ttf");*/ } } 

Ahora agrega este tipo de letra al estilo en el archivo de estilo android en la carpeta de valores

 <item name="android:typeface">monospace</item> 

Por último mencionar el nombre de la aplicación en el archivo de manifiesto android dentro de la etiqueta de la aplicación

 android:name=".Application" 

Esto funcionará para cambiar la fuente proporcionada por el usuario en el proyecto o aplicación de Android.

  • Establecer el texto Gujarati en Spinner en Android
  • En Photoshop el tamaño de fuente de archivo es 20px ¿qué sp será para esto en android? ¿Es igual? Significa 20px = 20sp o algo más?
  • Cambio de fuente de Roboto regular a Roboto condensado
  • Multi texto de fuente en android
  • ¿Qué fuentes están disponibles en Android?
  • Tipo de letra de Android o ttf de tipo de letra otf que renderiza símbolos / letras aleatorios
  • Cómo volver a fuente predeterminada en TextView
  • Ayuda de Android con cambiar el tipo de fuente del botón, ¿cómo?
  • La fuente del recurso no se carga en android webView
  • Cómo configurar una fuente en particular para un texto de botón en android?
  • Cómo cambiar la fuente en los widgets de Android a las fuentes definidas por el usuario en la carpeta "assets" de la aplicación?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.