GitHub repository: sumon953/Custom-Fonts-as-Resources-in-Android-Studio
Primary language: Java
Created: 2020-03-12T06:09:30Z
Description: In this tutorial, we will learn how to add custom fonts as resources into our Android Studio project. Unlike downloadable fonts, these local fonts are bundled with the APK and always available offline. We will also learn how we can bundle multiple fonts together into one font-family XML file, where we can specify a fontStyle and fontWeight for each font file, and let the system apply it to a TextView automatically in accordance to its textStyle (italic or bold). By adding the fontFamily attribute to the AppTheme instead of a single TextView, we can apply a font application-wide, and by using it on a Toolbar theme, we can change the font of the Toolbar specifically. We can also change the font of a TextView dynamically in Java code, by creating a Typeface object with getResources().getFont() or the ResourcesCompat compatibility version, and applying this Typeface to a TextView with setTypeface. Custom fonts are backward compatible down to API level 16 over the AppCompat support library. On API 28 and higher, we can specify the font weight directly over the Typeface.create method or the textFontWeight XML attribute. Supported font resources are ttf and otf files. We can access the free Google Fonts library directly over the Android Studio Design Editor.