Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Constants](https://developer.android.com/reference/android/graphics/fonts/FontStyle#constants) \| [Ctors](https://developer.android.com/reference/android/graphics/fonts/FontStyle#pubctors) \| [Methods](https://developer.android.com/reference/android/graphics/fonts/FontStyle#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/graphics/fonts/FontStyle#inhmethods)

# FontStyle

*** ** * ** ***


`
public

final

class
FontStyle
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.graphics.fonts.FontStyle |

<br />

*** ** * ** ***

A font style object.

This class represents a single font style which is a pair of weight value and slant value.
Here are common font styles examples:



    final FontStyle NORMAL = new FontStyle(FONT_WEIGHT_NORMAL, FONT_SLANT_UPRIGHT);
    final FontStyle BOLD = new FontStyle(FONT_WEIGHT_BOLD, FONT_SLANT_UPRIGHT);
    final FontStyle ITALIC = new FontStyle(FONT_WEIGHT_NORMAL, FONT_SLANT_ITALIC);
    final FontStyle BOLD_ITALIC = new FontStyle(FONT_WEIGHT_BOLD, FONT_SLANT_ITALIC);

<br />

<br />

## Summary

| ### Constants ||
|---|---|
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_SLANT_ITALIC` A font slant value for italic |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_SLANT_UPRIGHT` A font slant value for upright |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_BLACK` A font weight value for the black weight |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_BOLD` A font weight value for the bold weight. |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_EXTRA_BOLD` A font weight value for the extra-bold weight |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_EXTRA_LIGHT` A font weight value for the extra-light weight |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_LIGHT` A font weight value for the light weight |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_MAX` A maximum weight value for the font |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_MEDIUM` A font weight value for the medium weight |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_MIN` A minimum weight value for the font |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_NORMAL` A font weight value for the normal weight |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_SEMI_BOLD` A font weight value for the semi-bold weight |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_THIN` A font weight value for the thin weight |
| `int` | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_UNSPECIFIED` A default value when font weight is unspecified |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/graphics/fonts/FontStyle#FontStyle()() ` |
| ` https://developer.android.com/reference/android/graphics/fonts/FontStyle#FontStyle(int,%20int)(int weight, int slant) ` Create FontStyle with specific weight and italic <br /> <br /> | Value | Name | Android Definition | |:---:|:---:|:---:| | 100 | Thin | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_THIN` | | 200 | Extra Light (Ultra Light) | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_EXTRA_LIGHT` | | 300 | Light | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_LIGHT` | | 400 | Normal (Regular) | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_NORMAL` | | 500 | Medium | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_MEDIUM` | | 600 | Semi Bold (Demi Bold) | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_SEMI_BOLD` | | 700 | Bold | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_BOLD` | | 800 | Extra Bold (Ultra Bold) | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_EXTRA_BOLD` | | 900 | Black (Heavy) | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_BLACK` | | ### Public methods || |---|---| | ` boolean` | ` https://developer.android.com/reference/android/graphics/fonts/FontStyle#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object o) ` Indicates whether some other object is "equal to" this one. | | ` int` | ` https://developer.android.com/reference/android/graphics/fonts/FontStyle#getSlant()() ` Gets the slant value | | ` int` | ` https://developer.android.com/reference/android/graphics/fonts/FontStyle#getWeight()() ` Gets the weight value | | ` int` | ` https://developer.android.com/reference/android/graphics/fonts/FontStyle#hashCode()() ` Returns a hash code value for the object. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/graphics/fonts/FontStyle#toString()() ` Returns a string representation of the object. | | ### Inherited methods | |---|---| | From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | || ## Constants ### FONT_SLANT_ITALIC Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_SLANT_ITALIC ``` A font slant value for italic <br /> Constant Value: 1 (0x00000001) ### FONT_SLANT_UPRIGHT Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_SLANT_UPRIGHT ``` A font slant value for upright <br /> Constant Value: 0 (0x00000000) ### FONT_WEIGHT_BLACK Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_WEIGHT_BLACK ``` A font weight value for the black weight <br /> Constant Value: 900 (0x00000384) ### FONT_WEIGHT_BOLD Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_WEIGHT_BOLD ``` A font weight value for the bold weight. <br /> Constant Value: 700 (0x000002bc) ### FONT_WEIGHT_EXTRA_BOLD Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_WEIGHT_EXTRA_BOLD ``` A font weight value for the extra-bold weight <br /> Constant Value: 800 (0x00000320) ### FONT_WEIGHT_EXTRA_LIGHT Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_WEIGHT_EXTRA_LIGHT ``` A font weight value for the extra-light weight <br /> Constant Value: 200 (0x000000c8) ### FONT_WEIGHT_LIGHT Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_WEIGHT_LIGHT ``` A font weight value for the light weight <br /> Constant Value: 300 (0x0000012c) ### FONT_WEIGHT_MAX Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_WEIGHT_MAX ``` A maximum weight value for the font <br /> Constant Value: 1000 (0x000003e8) ### FONT_WEIGHT_MEDIUM Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_WEIGHT_MEDIUM ``` A font weight value for the medium weight <br /> Constant Value: 500 (0x000001f4) ### FONT_WEIGHT_MIN Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_WEIGHT_MIN ``` A minimum weight value for the font <br /> Constant Value: 1 (0x00000001) ### FONT_WEIGHT_NORMAL Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_WEIGHT_NORMAL ``` A font weight value for the normal weight <br /> Constant Value: 400 (0x00000190) ### FONT_WEIGHT_SEMI_BOLD Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_WEIGHT_SEMI_BOLD ``` A font weight value for the semi-bold weight <br /> Constant Value: 600 (0x00000258) ### FONT_WEIGHT_THIN Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_WEIGHT_THIN ``` A font weight value for the thin weight <br /> Constant Value: 100 (0x00000064) ### FONT_WEIGHT_UNSPECIFIED Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public static final int FONT_WEIGHT_UNSPECIFIED ``` A default value when font weight is unspecified <br /> Constant Value: -1 (0xffffffff) ## Public constructors ### FontStyle Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public FontStyle () ``` <br /> <br /> ### FontStyle Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public FontStyle (int weight, int slant) ``` Create FontStyle with specific weight and italic <br /> <br /> <br /> | Value | Name | Android Definition | |:---:|:---:|:---:| | 100 | Thin | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_THIN` | | 200 | Extra Light (Ultra Light) | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_EXTRA_LIGHT` | | 300 | Light | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_LIGHT` | | 400 | Normal (Regular) | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_NORMAL` | | 500 | Medium | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_MEDIUM` | | 600 | Semi Bold (Demi Bold) | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_SEMI_BOLD` | | 700 | Bold | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_BOLD` | | 800 | Extra Bold (Ultra Bold) | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_EXTRA_BOLD` | | 900 | Black (Heavy) | `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_BLACK` | | Parameters || |---|---| | `weight` | `int`: a weight value <br /> | | `slant` | `int`: a slant value. Value is one of the following: - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_SLANT_UPRIGHT` - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_SLANT_ITALIC` | **See also:** - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_THIN` - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_EXTRA_LIGHT` - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_LIGHT` - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_NORMAL` - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_MEDIUM` - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_SEMI_BOLD` - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_BOLD` - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_EXTRA_BOLD` - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_WEIGHT_BLACK` ## Public methods ### equals Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public boolean equals (Object o) ``` Indicates whether some other object is "equal to" this one. The `equals` method implements an equivalence relation on non-null object references: - It is *reflexive*: for any non-null reference value `x`, `x.equals(x)` should return `true`. - It is *symmetric*: for any non-null reference values `x` and `y`, `x.equals(y)` should return `true` if and only if `y.equals(x)` returns `true`. - It is *transitive*: for any non-null reference values `x`, `y`, and `z`, if `x.equals(y)` returns `true` and `y.equals(z)` returns `true`, then `x.equals(z)` should return `true`. - It is *consistent*: for any non-null reference values `x` and `y`, multiple invocations of `x.equals(y)` consistently return `true` or consistently return `false`, provided no information used in `equals` comparisons on the objects is modified. - For any non-null reference value `x`, `x.equals(null)` should return `false`. An equivalence relation partitions the elements it operates on into *equivalence classes*; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes. <br /> | Parameters || |---|---| | `o` | `Object`: This value may be `null`. <br /> | | Returns || |---|---| | `boolean` | `true` if this object is the same as the obj argument; `false` otherwise. <br /> | ### getSlant Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public int getSlant () ``` Gets the slant value <br /> | Returns || |---|---| | `int` | a slant value. Value is one of the following: - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_SLANT_UPRIGHT` - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FONT_SLANT_ITALIC` | ### getWeight Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public int getWeight () ``` Gets the weight value <br /> | Returns || |---|---| | `int` | a weight value. Value is between 0 and 1000 inclusive <br /> | **See also:** - `https://developer.android.com/reference/android/graphics/fonts/FontStyle#FontStyle(int,%20int)` ### hashCode Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public int hashCode () ``` Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by `https://developer.android.com/reference/java/util/HashMap`. The general contract of `hashCode` is: - Whenever it is invoked on the same object more than once during an execution of a Java application, the `hashCode` method must consistently return the same integer, provided no information used in `equals` comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. - If two objects are equal according to the `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce the same integer result. - It is *not* required that if two objects are unequal according to the `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables. <br /> <br /> | Returns || |---|---| | `int` | a hash code value for this object. <br /> | ### toString Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) ``` public String toString () ``` Returns a string representation of the object. <br /> | Returns || |---|---| | `https://developer.android.com/reference/java/lang/String` | a string representation of the object. <br /> | |