Cómo agregar fuentes externas a la aplicación Android

Buscaba algunas fuentes elegantes para mi aplicación de Android. Pero el problema es cómo puedo hacer que mi aplicación android compatible con fuentes externas.

Gracias.

Usted necesita crear la carpeta de fuentes en la carpeta de activos en su proyecto y poner su TTF en ella. A continuación, en su Activity onCreate ()

TextView myTextView=(TextView)findViewById(R.id.textBox); Typeface typeFace=Typeface.createFromAsset(getAssets(),"fonts/mytruetypefont.ttf"); myTextView.setTypeface(typeFace); 

Tenga en cuenta que no todos los TTF funcionará. Mientras estaba experimentando, funcionaba sólo para un subconjunto (en Windows, aquellos cuyo nombre está escrito en mayúsculas).

Usted puede utilizar el TextView personalizado para la aplicación completa con la fuente personalizada aquí es un ejemplo para que

 public class MyTextView extends TextView { Typeface normalTypeface = Typeface.createFromAsset(getContext().getAssets(), Constants.FONT_REGULAR); Typeface boldTypeface = Typeface.createFromAsset(getContext().getAssets(), Constants.FONT_BOLD); public MyTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); } public MyTextView(Context context) { super(context); } public void setTypeface(Typeface tf, int style) { if (style == Typeface.BOLD) { super.setTypeface(boldTypeface/*, -1*/); } else { super.setTypeface(normalTypeface/*, -1*/); } } } 

Cree una carpeta denominada fuentes en la carpeta de activos y agregue el fragmento del enlace de abajo.

 Typeface tf = Typeface.createFromAsset(getApplicationContext().getAssets(),"fonts/fontname.ttf"); textview.setTypeface(tf); 

Para implementar necesitas usar Typeface y pasar por el siguiente ejemplo

 Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/Roboto/Roboto-Regular.ttf"); for (View view : allViews) { if (view instanceof TextView) { TextView textView = (TextView) view; textView.setTypeface(typeface); } } } 

La forma más sencilla de lograr esto es empaquetar los tipos de letra deseados con su aplicación. Para ello, simplemente cree una carpeta assets / en la raíz del proyecto y coloque las fuentes (en TrueType o TTF, forma) en los recursos. Por ejemplo, puede crear activos / fuentes / y colocar los archivos TTF allí.

A continuación, debe indicarle a sus widgets que utilicen esa fuente. Desafortunadamente, ya no puede utilizar XML de diseño para esto, ya que el XML no conoce ninguna fuente que pueda haber guardado como un recurso de aplicación. En su lugar, necesita realizar el cambio en el código Java, llamando a Typeface.createFromAsset (getAssets (), "fonts / HandmadeTypewriter.ttf"), luego tomar el objeto Typeface creado y pasarlo a su TextView a través de setTypeface ().

Para más referencia aquí es el tutorial donde obtuve esto:

http://www.androidguys.com/2008/08/18/fun-with-fonts/

Recomiendo este enfoque es muy agradable con la adición de nombre de la fuente personalizada en el typeface de typeface a styles.xml y poner su conjunto de fuentes en la carpeta de assets .

Un punto más, además de las respuestas anteriores. Cuando se utiliza una fuente dentro de un fragmento, la instanciación de tipo de letra debe hacerse en el método onAttach (anulación) como se indica a continuación:

 @Override public void onAttach(Activity activity){ super.onAttach(activity); Typeface tf = Typeface.createFromAsset(getApplicationContext().getAssets(),"fonts/fontname.ttf"); } 

Razón :
Hay un corto lapso de tiempo antes de que un fragmento se adjunte a una actividad. Si se llama al método CreateFromAsset antes de adjuntar fragmento a una actividad se produce un error.

  • El tamaño de fuente de TextView en la aplicación Android cambia al cambiar el tamaño de la fuente de la configuración nativa
  • Webview no muestra la fuente Gujarati
  • Uso de fuentes personalizadas para todo el texto de la aplicación que no funciona con Lollipop
  • ¿Qué glifos o conjuntos de caracteres están incluidos en las fuentes Roboto?
  • La página Web Gujarati no se muestra perfecta en la vista Web
  • Fuente urdu en la vista de texto
  • Acceso a una fuente en la carpeta de activos del archivo XML de Android
  • El tamaño de fuente de las aplicaciones de Android cambia según el tamaño de fuente definido en la configuración
  • Cómo leer kerning pares tabla de archivo TTF en Android
  • "RuntimeException: tipo de letra nativo no se puede hacer" al cargar la fuente
  • Uso de Roboto delgado o condensado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.