18

What is the difference between fontFamily and typeFace in android ? Of course, I read all the description in android developer site, but I'm not clear yet.

According to the general meaning of two words, it should be same meaning. But in the android xml properties(textview...), it has both properties. That makes me very confused.

As far as I know.... fontFamily and typeFace is a group of same-look of fonts.(Roboto, Arial) Font is a specific one of fontFamily.(Roboto-18pt-Bold, Arial-10pt-Italic)

What am I missing ?

myoldgrandpa
  • 871
  • 7
  • 21

1 Answers1

18

To find the answer of your question you have to look into the source code of TextView, you will find its implementation here

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/widget/TextView.java

Now from the implementation of method setTypefaceFromAttrs() it seems like, If you have set fontFamily attribute then typeface attribute will be ignored.

Also android:typeface attribute is added in api level 1 and using this you can set following fonts

- normal
- serif
- sans
- monospace

Whereas android:fontFamily attribute is added in api level 16 and this supports more fonts from roboto font family like -

- serif
- monospace
- sans-serif
- sans-serif-condensed
- serif-monospace
- sans-serif-smallcaps

For more information use below link

Valid values for android:fontFamily and what they map to?

Community
  • 1
  • 1
shivam
  • 688
  • 8
  • 10