One more remark for the usage of Typeface.createFromAsset() function. When I had many calls on it it significantly impacted the inflate time. To overcome this issue we created a singleton instance of the Typeface like this
public static Typeface getTypeFace() {
if (fromAsset == null) {
fromAsset = Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Medium.ttf");
}
return fromAsset;
}