Apliqué una fuente personalizada a una TextView
, pero no parece cambiar el tipo de letra.
Aquí está mi código:
Typeface myTypeface = Typeface.createFromAsset(getAssets(), "fonts/myFont.ttf");
TextView myTextView = (TextView)findViewById(R.id.myTextView);
myTextView.setTypeface(myTypeface);
¿Alguien puede sacarme de este problema?
android
custom-font
android-fonts
android-typeface
SERPIENTE DE CASCABEL
fuente
fuente
myTextView.setTypeface(myTypeface);
Respuestas:
En Mobiletuts + hay un tutorial muy bueno sobre el formato de texto para Android. Consejo rápido: personaliza las fuentes de Android
EDITAR: Lo probé yo mismo ahora. Aquí está la solución. Puede usar una subcarpeta llamada fuentes, pero debe ir en la
assets
carpeta, no en lares
carpeta. EntoncesTambién asegúrese de que el final de la fuente me refiero al final del archivo de la fuente en minúsculas. En otras palabras, no debería ser así,
myFont.TTF
pero demyfont.ttf
esta manera debe ser en minúsculasfuente
createFromAsset
función apunta directamente dentro delassets
directorio)Después de probar la mayoría de las soluciones descritas en este hilo, encontré accidentalmente Caligrafía ( https://github.com/chrisjenx/Calligraphy ), una biblioteca de Christopher Jenkins que le permite agregar fácilmente fuentes personalizadas a su aplicación. Las ventajas de su lib en comparación con los enfoques sugeridos aquí son:
fuente
Sé que ya hay buenas respuestas, pero aquí hay una implementación totalmente funcional.
Aquí está la vista de texto personalizado:
Aquí están los atributos personalizados. Esto debería ir a su
res/attrs.xml
archivo:Y así es como lo usas. Usaré un diseño relativo para envolverlo y mostrar la
customAttr
declaración, pero obviamente podría ser cualquier diseño que ya tenga.fuente
customAttrs
refiere en mi proyecto?xmlns:customAttrs="http://schemas.android.com/apk/res-auto"
. Esto obtiene automáticamente los atributos establecidos para vistas personalizadas. En este caso, tiene un atributo llamado customFont definido en attrs.xml. Una forma más fácil de entender es observarxmlns:android="http://schemas.android.com/apk/res/android"
qué define el espacio de nombres para sus atributos de Android. Entonces, si cambiaste eso a,a
entonces en lugar deandroid:text
eso seríaa:text
.He usado esto con éxito antes. La única diferencia entre nuestras implementaciones es que no estaba usando una subcarpeta en activos. Sin embargo, no estoy seguro de si eso cambiará algo.
fuente
Siempre que haya colocado la fuente en el lugar correcto y no haya ningún error en el archivo de fuente, su código debería funcionar así, RATTLESNAKE.
Sin embargo, sería mucho más fácil si pudieras definir una fuente en tu diseño xml, así:
Con el acompañamiento
res/values/styles.xml
:Creé un par de herramientas específicamente para este propósito. Consulte este proyecto desde GitHub, o eche un vistazo a esta publicación de blog que explica todo.
fuente
La mejor manera de hacerlo Desde la versión de vista previa de Android O es de esta manera:
funciona solo si tiene Android Studio-2.4 o superior
Aparece la ventana Nuevo directorio de recursos.
R.font.dancing_script
,R.font.la_la
yR.font.ba_ba
.A continuación debemos crear una familia de fuentes:
Incluya cada archivo de fuente, estilo y atributo de peso en el elemento de etiqueta de fuente. El siguiente XML ilustra la adición de atributos relacionados con la fuente en el recurso XML de fuente:
Agregar fuentes a un TextView:
A partir de la documentación
Todos los pasos son correctos.
fuente
Para las fuentes personalizadas en Android, cree una carpeta dentro de la carpeta de activos.
Si extiende UIBaseFragment:
más si extiende la actividad:
fuente
Puede usar PixlUI en https://github.com/neopixl/PixlUI
importar su .jar y usarlo en XML
fuente
Como no estaba satisfecho con todas las soluciones presentadas en SO, se me ocurrió la mía. Se basa en un pequeño truco con etiquetas (es decir, no puede usar etiquetas en su código), puse la ruta de la fuente allí. Entonces, al definir vistas, puede hacer esto:
o esto:
Ahora puede acceder / configurar explícitamente la vista como:
o simplemente configurar todo a través de:
¿Y cuál es la clase de magia que preguntas? Principalmente pegado de otras publicaciones SO, con métodos auxiliares para la actividad y los fragmentos:
fuente
Lamentablemente no hay una buena solución para esto.
He visto muchos artículos sobre el uso de una vista de texto personalizada, pero lo olvidan porque no solo las vistas de texto pueden implementar fuentes y hay vistas de texto ocultas en otras vistas inaccesibles para el desarrollador; Ni siquiera voy a comenzar con Spannable .
Puede usar una utilidad de fuente externa como:
Herramienta de fuente de caligrafía
PERO Esto recorre cada vista de la aplicación en su creación e incluso esta utilidad pierde algunas vistas (ViewPager representa la fuente normal), entonces tiene el problema de que cuando Google actualiza sus herramientas de compilación, esto ocasionalmente se bloqueará porque necesita apuntar a propiedades obsoletas. También es un poco lento, ya que utiliza la reflexión de Java .
Depende de Google arreglar esto. Necesitamos un mejor soporte de fuentes en Android. Si nos fijamos en la solución de iOS, literalmente tienen cientos de fuentes incorporadas para elegir. ¿Quieres una fuente personalizada? Simplemente coloque un TFF y podrá usarlo.
Por ahora, ahora estamos limitados a la oferta que nos ofrece Google, que es extremadamente limitada pero afortunadamente optimizada para dispositivos móviles.
fuente
Asegúrese de pegar el código anterior en onCreate () después de su llamada al super y la llamada a setContentView (). Este pequeño detalle me mantuvo colgado por un tiempo.
fuente
Con Android 8.0, el uso de fuentes personalizadas en la aplicación se hizo fácil con
downloadable fonts
. Podemos agregar fuentes directamente a lares/font/ folder
carpeta del proyecto, y al hacerlo, las fuentes estarán automáticamente disponibles en Android Studio.Ahora configure el
fontFamily
atributo en la lista de fuentes o haga clic en más y seleccione la fuente de su elección. Esto agregarátools:fontFamily="@font/your_font_file"
línea a su TextView.Esto generará automáticamente pocos archivos.
1. En la carpeta de valores se creará
fonts_certs.xml
.2. En Manifiesto agregará estas líneas:
3)
preloaded_fonts.xml
fuente
Puede usar la biblioteca de terceros EasyFonts fácil y simple para configurar una variedad de fuentes personalizadas para su
TextView
. Al usar esta biblioteca, no debería tener que preocuparse por descargar y agregar fuentes a la carpeta de recursos / fuentes. También sobre la creación de objetos tipográficos.En vez de
Simplemente:
Esta biblioteca también proporciona la siguiente fuente.
fuente
Tuve el mismo problema, el TTF no apareció. Cambié el archivo de fuente, y con el mismo código está funcionando.
fuente
Si desea cargar la fuente desde la red o diseñarla fácilmente, puede usar:
https://github.com/shellum/fontView
Ejemplo:
fuente
Bueno, después de siete años, puedes cambiar la aplicación completa
textView
o lo que quieras fácilmente usando lasandroid.support
bibliotecas 26 ++.P.ej:
Cree su paquete de fuentes app / src / res / font y mueva su fuente a él.
Y en el tema de su aplicación simplemente agréguelo como fuente Familia:
Ejemplo de uso
textView
solo con :Y agregue a su tema principal:
Actualmente se ha trabajado en 8.1 hasta 4.1 API Jelly Bean y eso es una amplia gama.
fuente
Respuesta de actualización: Android 8.0 (API nivel 26) presenta una nueva característica, Fuentes en XML. solo use la función Fuentes en XML en dispositivos con Android 4.1 (API nivel 16) y superior, use la Biblioteca de soporte 26.
ver este enlace
Vieja respuesta
Hay dos formas de personalizar las fuentes:
Camino 1: Refrection Typeface.class ||| mejor manera
llamar a FontsOverride.setDefaultFont () en la clase extiende la aplicación, este código hará que se cambien todas las fuentes de software, incluso las fuentes Toast
AppController.java
FontsOverride.java
Camino 2: use setTypeface
para una vista especial solo llame a setTypeface () para cambiar la fuente.
CTextView.java
FontUtils.java
fuente
La forma correcta de hacerlo a partir de API 26 se describe en la documentación oficial aquí:
https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html
Esto implica colocar los archivos ttf en la carpeta res / font y crear un archivo de familia de fuentes.
fuente
La solución más sencilla de Android compatible ahora!
Usar fuente personalizada en xml:
ver detalles:
https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html
fuente
TextView txt = (TextView) findViewById(R.id.txt_act_spalsh_welcome); Typeface font = Typeface.createFromAsset(getAssets(), "fonts/Aramis Italic.ttf"); txt.setTypeface(font);
el nombre de la fuente debe ser correcto y divertirse
fuente
Sí, las fuentes descargables son muy fáciles, como dijo Dipali .
Así es como lo haces ...
TextView
.fontFamily
menú desplegable. Si no está allí, encuentre el elemento de intercalación (el> y haga clic en él para expandirlotextAppearance
) debajo de.font-family
menú desplegable.more fonts
Google Fonts
Add font to project
BONIFICACIÓN: si desea diseñar TODO con texto en su aplicación con la fuente elegida, simplemente agregue
<item name="android:fontfamily">@font/fontnamehere</item>
a sustyles.xml
fuente