# EmojiCompat.SpanFactory

Artifact: [androidx.emoji2:emoji2](https://developer.android.com/jetpack/androidx/releases/emoji2) [View Source](https://cs.android.com/search?q=file:androidx/emoji2/text/EmojiCompat.java+class:androidx.emoji2.text.EmojiCompat.SpanFactory) Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/emoji2#1.3.0)

*** ** * ** ***


```
public interface EmojiCompat.SpanFactory
```

<br />

*** ** * ** ***

Factory class that creates the EmojiSpans. By default it creates `https://developer.android.com/reference/androidx/emoji2/text/TypefaceEmojiSpan`. Apps should use this only if they want to control the drawing of EmojiSpans for non-standard emoji display (for example, resizing or repositioning emoji).

## Summary

| ### Public methods |
|---|---|
| `abstract @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/emoji2/text/EmojiSpan` | `https://developer.android.com/reference/androidx/emoji2/text/EmojiCompat.SpanFactory#createSpan(androidx.emoji2.text.TypefaceEmojiRasterizer)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/emoji2/text/TypefaceEmojiRasterizer rasterizer)` Create EmojiSpan instance. |

## Public methods

### createSpan

Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/emoji2#1.3.0)

```
abstract @NonNull EmojiSpan createSpan(@NonNull TypefaceEmojiRasterizer rasterizer)
```

Create EmojiSpan instance.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/emoji2/text/TypefaceEmojiRasterizer rasterizer` | TypefaceEmojiRasterizer instance, which can draw the emoji onto a Canvas. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/emoji2/text/EmojiSpan` | EmojiSpan instance that can use TypefaceEmojiRasterizer to draw emoji. |