FontFamily


public final class FontFamily
extends Object

java.lang.Object
   ↳ android.graphics.fonts.FontFamily


A font family class can be used for creating Typeface.

A font family is a bundle of fonts for drawing text in various styles. For example, you can bundle regular style font and bold style font into a single font family, then system will select the correct style font from family for drawing.

  FontFamily family = new FontFamily.Builder(new Font.Builder("regular.ttf").build())
      .addFont(new Font.Builder("bold.ttf").build()).build();
  Typeface typeface = new Typeface.Builder2(family).build();

  SpannableStringBuilder ssb = new SpannableStringBuilder("Hello, World.");
  ssb.setSpan(new StyleSpan(Typeface.Bold), 6, 12, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

  textView.setTypeface(typeface);
  textView.setText(ssb);
 
In this example, "Hello, " is drawn with "regular.ttf", and "World." is drawn with "bold.ttf". If there is no font exactly matches with the text style, the system will select the closest font.

Summary

Nested classes

class FontFamily.Builder

A builder class for creating new FontFamily. 

Public methods

Font getFont(int index)

Returns a font

int getSize()

Returns the number of fonts in this FontFamily.

Inherited methods

Public methods

getFont

Added in API level 29
public Font getFont (int index)

Returns a font

Parameters
index int: an index of the font Value is 0 or greater

Returns
Font a registered font This value cannot be null.

getSize

Added in API level 29
public int getSize ()

Returns the number of fonts in this FontFamily.

Returns
int the number of fonts registered in this family. Value is 1 or greater