I need to change textView font using android:fontFamily. The problem is that it gives me errors and I have no idea why
My code:
Add your font files in the Resources/font directory
For API-26+ only support using android:fontFamily is fine:
android:fontFamily="@font/tastysushi"
Add the Xamarin.Android.Support.Compat package (v26 or higher)
Add the Xamarin.Android.Support.v7.AppCompat package (v26+) if you are using fontFamily in your AXML layouts (otherwise you can programmatically assign the font family and use Activity subclasses)
Your activity must be a subclass of AppCompatActivity in order for the layout/AXML-based app:fontFamily attribute to work
Add the font files in the Resources/font directory
|-Resources
| |-font
| | |-tastysushi.ttf
Optional, but handy, create a font family xml file in Resources/font directory (both android and app namespaces must be defined)
<!-- Resource/font/sushi.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<font-family
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<font
android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/tastysushi"
app:fontStyle="normal"
app:fontWeight="400"
app:font="@font/tastysushi"
/>
Note: You can add bold and italic font elements also to the font family... and assign each one a different font file from the same family of fonts...
In top element of your layout file add the app: namespace:
xmlns:app="http://schemas.android.com/apk/res-auto"
Now the fontFamily attribute must use to use the app: namespace
app:fontFamily="@font/sushi"
Note: The @font/ can either reference the actual font file or the xml-based font family file
Note: You can also embed the fonts in styles so you do not have to populate each AXML element with the font family...