¿Cómo puedo usar una fuente personalizada que se agregó en la carpeta de elementos en mi xml? Sé que podemos usar el método setTypeface()
en Java, pero tenemos que hacer esto en todas partes donde usemos ese TextView
. Entonces, ¿hay una mejor manera?¿Cómo usar una fuente personalizada en Android xml?
Respuesta
La mejor manera que encontré al googlear es: si quieres usar TextView, tenemos que extender la vista de texto y tener que establecer la fuente para que luego podamos usar nuestra vista de texto personalizada en nuestro xml. Mostraré el TextView extendido a continuación
package com.vins.test;
import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.widget.TextView;
public class MyTextView extends TextView {
public MyTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyTextView(Context context) {
super(context);
init();
}
private void init() {
Typeface tf = Typeface.createFromAsset(getContext().getAssets(),
"your_font.ttf");
setTypeface(tf);
}
}
Llamamos a init() para establecer la fuente en cada uno de los constructores. Más tarde tenemos que usar esto en nuestro main.xml como se muestra a continuación.
<com.vins.test.MyTextView
android:id="@+id/txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:text="This is a text view with the font u had set in MyTextView class "
android:textSize="30dip"
android:textColor="#ff0000"
>
Actualización:
ser consciente de la pérdida de memoria en pre-4.0 de Android como se ha mencionado por pandre.
@vins: ¿y si el usuario también dice 'android: textStyle =" bold "'? ¿Se establecerá el texto en negrita? –
@kilaka Sí, debería ponerse en negrita. – Vins
@vins - gracias. ¿Esto significa que el archivo ttf incluye todos los subtipos de la fuente - negrita, cursiva, etc. y combinaciones de ellos? –
Deja tus archivos fuente en asset\fonts\fontname
definir tres TextView en el archivo XML a continuación, poner este código en su clase de actividad:
public class AndroidExternalFontsActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Font path
String fontPath = "fonts/DS-DIGIT.TTF";
String fontPath1 = "fonts/Face Your Fears.ttf";
String fontPath2 = "fonts/HelveticaNeue-Bold_0.otf";
// text view label
TextView txtGhost = (TextView) findViewById(R.id.ghost);
TextView txtGhost1 = (TextView) findViewById(R.id.ghost1);
TextView txtGhost2 = (TextView) findViewById(R.id.ghost2);
// Loading Font Face
Typeface tf = Typeface.createFromAsset(getAssets(), fontPath);
Typeface tf1 = Typeface.createFromAsset(getAssets(), fontPath1);
Typeface tf2 = Typeface.createFromAsset(getAssets(), fontPath2);
// Applying font
txtGhost.setTypeface(tf);
txtGhost1.setTypeface(tf1);
txtGhost2.setTypeface(tf2);
}
}
Oye, esta es una manera normal de configurar la fuente, la pregunta era para usar una fuente personalizada por defecto en XML. – Vins
- 1. Fuente personalizada en Android
- 2. fuente personalizada en android ListView
- 3. Android - Cómo establecer una fuente personalizada para la aplicación entera
- 4. Cómo instalar una fuente personalizada en el dispositivo Android
- 5. ¿Cómo configurar una fuente personalizada en emacs?
- 6. android establece una fuente personalizada para una pintura
- 7. ¿Puedo incrustar una fuente personalizada en una aplicación de Android?
- 8. ¿Cómo inflico una vista personalizada en XML?
- 9. Agregar una fuente personalizada a Theme en Android
- 10. Cómo utilizar una fuente personalizada con WebView
- 11. Usar estilos de fuente predeterminados en Android
- 12. cómo usar la fuente tamil en Android
- 13. ¿Cómo centrar una vista personalizada en Android?
- 14. Fuente personalizada en una aplicación Cocoa
- 15. Usando un UIWebView, ¿puedo usar una fuente personalizada?
- 16. Agregue una fuente personalizada en Qt
- 17. Fuente personalizada en ckeditor
- 18. cómo usar "repo" para clonar una fuente mínima de Android?
- 19. fuente personalizada para textview en ArrayAdapter
- 20. Representación de fuente personalizada en Android 4.0 (sándwich de helado)
- 21. Cómo instalo una fuente personalizada en un sitio HTML
- 22. ¿Cómo uso una fuente personalizada con la biblioteca Batik SVG?
- 23. ¿Cómo usar una forma XML dibujable?
- 24. WPF - Agregar fuente personalizada
- 25. ¿Puedo usar variables en XML para Android?
- 26. ¿Cómo agregar una fuente personalizada a la aplicación Rails?
- 27. Mi fuente personalizada no muestra
- 28. Android: ¿Cómo probar una vista personalizada?
- 29. Android NDK: compilación WebView personalizada desde la fuente
- 30. Fuente autorizada en XML-sig
He actualizado mi respuesta. Por favor, elimine -ve de esa respuesta. –
Pruebe este tutorial [http://www.barebonescoder.com/2010/05/android-development-using-custom-fonts/](http://www.barebonescoder.com/2010/05/android-development-using -custom-fonts /) Creo que le ayuda – Ajay
Hola, por favor, consulte esta publicación. un problema con la misma naturaleza fue discutido y respondido allí. –
Wajeeh