tipos - Tipo de letra de Android createFromAsset
que fuente usa android (7)
Debe colocar su carpeta de activos dentro de la carpeta "Proyecto" y no en la carpeta "src" . Ha colocado su fuente en "src / main / asset / robotobold.ttf" por eso no está funcionando. Debe colocarlo así "/assets/robotobold.ttf".
Tengo una vista personalizada que dibuja texto en el lienzo. Quiero cambiar la fuente a una fuente almacenada en la carpeta de activos.
Estoy usando Android Studio, así que creé una carpeta src / main / asset y coloqué mis archivos ttf allí.
Paint txt = new Paint()
Typeface font = Typeface.createFromAsset(getAssets(), "robotobold.ttf");
txt.setTypeface(font);
El problema es que Android Studio no reconoce getAssets () dentro de mi Vista personalizada, sin embargo, lo reconoce dentro de mi Actividad. He intentado pasar Typeface desde mi actividad pero cuando lo hago no cambia la fuente.
En primer lugar, debe mantener su carpeta de assets
dentro de su project
y no dentro de src/main
.. Y luego, crear una carpeta llamada fonts
dentro de los assets
. luego, coloque los ttf files
del tipo de letra de la fuente en su interior. Puede utilizar el tipo de letra de la fuente en la codificación como:
Typeface type = Typeface.createFromAsset(getAssets(),"fonts/filename.ttf");
textview.setTypeface(type);
Mi error fue agregar la línea.
Typeface mFont = Typeface.createFromAsset(this.getAssets(), "abc.ttf");
antes de onCreate ()
Para reutilizar tipos de letra en mis proyectos, creo una clase llena de métodos de tipo de letra, de esta manera no tengo que crear un tipo de letra nuevo cada vez.
Llamo a la clase FontClass
y en la clase hay un método para cada tipo de letra que necesito usar, por ejemplo:
public static Typeface getOpenSansRegular(Context c){
return Typeface.createFromAsset(c.getAssets(), "OpenSans-Light.ttf");
}
Entonces puedo usarlos así:
TextView text = (TextView) findViewById(R.id.textview);
text.setTypeface(FontClass.getOpenSansRegular(getApplicationContext());
Puede usar el método getContext()
su View
para obtener el Context
actual, y luego usarlo para obtener los activos :
Typeface font = Typeface.createFromAsset(getContext().getAssets(), "robotobold.ttf");
creó una carpeta src / main / asset y colocó archivos de fuentes allí.
en Actividad
Typeface font = Typeface.createFromAsset(getAssets(), "Mukta-Regular.ttf");
tv.setTypeface(font);
en Fragmento
Typeface.createFromAsset(getActivity().getAssets(), "Mukta-Regular.ttf");
tv.setTypeface(font);
Typeface robo = Typeface.createFromAsset(getActivity().getAssets(), "fonts/Roboto-Thin.ttf");