En mi entrada de blog anterior explico cómo crearla:
http://trucosandroidstudio.blogspot.com.es/2015/03/como-crear-las-carpetas-raw-y-assets.html )
He escogido la fuente MixBrush para el ejemplo con un texto "hola mundo".
Una vez creada la carpeta, haremos:
- botón derecho sobre ASSETS => NEW => crear nuevo DIRECTORY (directorio):
- quedando así:
- una vez escogemos la fuente sólo hay que arrastrala desde la ventana origen ( puede ser la de descargas, una memoria usb, etc...) hasta la nueva carpeta directorio FONT y soltar:
- y aceptamos en ambos casos:
- quedando así:
Ahora que ya tenemos la carpeta ASSETS con el nuevo directorio FONT y nuestro archivo de .ttf en ella, vamos con el ejemplo para un TEXTVIEW en nuestra ACTIVITY principal ( activity_main.xml por defecto ) donde escribiremos HOLA MUNDO, con la fuente por defecto:
Ahora desde nuestro MAIN_ACTIVITY de código java, vamos a escribir este código:
public class MainActivity extends ActionBarActivity {
TextView TV; //desclaramos nuestroTEXTVIEW de nuestro LAYOUT
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TV = (TextView)findViewById(R.id.TV_id); //definimos en ONCREATE donde esta por //medio de un ID
String font_path = "font/MixBrush.ttf"; //definimos un STRING con el valor PATH ( o ruta por //donde tiene que buscar ) de nuetra fuente
Typeface TF = Typeface.createFromAsset(getAssets(),font_path);
//llamanos a la CLASS TYPEFACE y la definimos con un CREATE desde //ASSETS con la ruta STRING
TV.setTypeface(TF); //finalmente aplicamos TYPEFACE al TEXTVIEW
}
Aquí el resultado en pantalla en el emulador:
Saludos a tod@s y gracias por visitarme!
Muchas gracias por el tuto Sandocal XL.....he intentado seguirlo pero sin éxito.....no se me modifica el texto por default....te agradeceria una ayuda sobre que es lo que puede estar ocurriendo utilizo el AS 1.1.0 y mi entrada para el codigo es esta:
ResponderEliminarpublic class Splash extends Activity {
TextView TV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
TV=(TextView)findViewById(R.id.my_text);
String font_path="fonts/tooney.ttf";
Typeface TF = Typeface.createFromAsset(getAssets(), font_path);
TV.setTypeface(TF);
}
}
de antemano gracias por la respuesta!!!...
Hola Camil. Te da algún error de compilación cuando envías el proyecto al emulador? Has probado con otra fuente?
EliminarEhhh genio!!.....gracias por tu ayuda!!....el error lo cometía yo!!!...ya q soy nuevo en esto creí q el tipo de fuente ya debía cambiar en la imagen q viene en el AS y no estaba usando el emulador!!!.....perdon por las molestias y otra vez gracias!!!.....
ResponderEliminarMe alegro, de nada :^]
ResponderEliminarAyuda !!!!!
ResponderEliminarMi problema es a la hora de pegar el código en MAIN_ACTIVITY, en cuanto lo pego todo el código me sale con errores y por mas que intento no puedo :/
cual es tu problema exactamente? Pega el codigo aqui para ver
Eliminarpackage com.andrea.guia;
Eliminarimport android.graphics.Typeface;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class Actividad_Principal extends AppCompatActivity {
TextView TV; //desclaramos nuestroTEXTVIEW de nuestro LAYOUT
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_actividad__principal.xml);
TV = (TextView)findViewById(R.id.TV_id); //definimos en ONCREATE donde esta por //medio de un ID
String font_path = "font/MixBrush.ttf"; //definimos un STRING con el valor PATH ( o ruta por //donde tiene que buscar ) de nuetra fuente
Typeface TF = Typeface.createFromAsset(getAssets(),font_path);
//llamanos a la CLASS TYPEFACE y la definimos con un CREATE desde //ASSETS con la ruta STRING
TV.setTypeface(TF); //finalmente aplicamos TYPEFACE al TEXTVIEW
}
Quita todos los comentarios que van después de // y puede que el nombre de la actividad no sea el mismo (public class Actividad_Principal extends AppCompatActivity )
EliminarMe puedes decir en donde puedo descargar fuentes de letras para android studio xfavor
Eliminarhola que tal tendras alguna forma de setear las fuentes de typefaces por otras personalizadas ?
ResponderEliminarhola que tal tendras alguna forma de setear las fuentes de typefaces por otras personalizadas ?
ResponderEliminarHola, me parece que sólo puedes utilizar un grupo de fuentes limitada. Puedes buscar más info en la página oficial de desarrolladores. Saludos
ResponderEliminarHola, me parece que sólo puedes utilizar un grupo de fuentes limitada. Puedes buscar más info en la página oficial de desarrolladores. Saludos
ResponderEliminarhola, y si tengo varios TexView y Botones como lo hago para generalizar mi fuente. O debo cambiar uno por uno..... Agradesería que hayuden...
ResponderEliminarHay que asignar la fuente a cada widget: .setTypeface(TF)----- Saludos
EliminarLa letra tiene que ser negra o mediante código java puede cambiarse el color?
ResponderEliminarUtiliza "set" de color de texto. Saludos
EliminarBuenas, he intentado seguir tus pasos, pero siempre me da error, me dice que no está permitido en el prologo y no entiendo por qué, no sé cómo arreglarlo. Si alguien sabe le agradecería bastante que me ayudara.
ResponderEliminarMuchas gracias de antemano
No todas la fuentes son posibles. Hay que busca las compatibles con android
Eliminarbuenas tardes alguien que me ayude es que el codigo no funciona
ResponderEliminarNo todas la fuentes son posibles. Hay que busca las compatibles con android
EliminarBuenos dias, quiero saber si hay alguna forma de cambiar la fuente desde un estilo o algo parecido sin necesidad de hacerlo individual
ResponderEliminarExcelente explicación
Ya tengo la fuente pero quiero que todos los txt's se cambien de fuente como lo puedo hacer?
ResponderEliminarGracias
Al fin encontré algo que me funciona ¡Muchas gracias! :D
ResponderEliminar