# FormWidgetInfo

Artifact: [androidx.pdf:pdf-core](https://developer.android.com/jetpack/androidx/releases/pdf) [View Source](https://cs.android.com/search?q=file:androidx/pdf/models/FormWidgetInfo.kt+class:androidx.pdf.models.FormWidgetInfo) Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

*** ** * ** ***


```
public final class FormWidgetInfo implements Parcelable
```

<br />

*** ** * ** ***

Information about a form widget of a PDF document.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/pdf/models/<` | [PDF 32000-1:2008]("https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf") |

## Summary

| ### Constants |
|---|---|
| `static final int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_CHECKBOX() = 2` Represents a checkbox type form widget |
| `static final int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_COMBOBOX() = 4` Represents a combobox type form widget |
| `static final int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_LISTBOX() = 5` Represents a listbox type form widget |
| `static final int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_PUSHBUTTON() = 1` Represents a push button type form widget |
| `static final int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_RADIOBUTTON() = 3` Represents a radio button type form widget |
| `static final int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_SIGNATURE() = 7` Represents a signature type form widget |
| `static final int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_TEXTFIELD() = 6` Represents a text field type form widget |
| `static final int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_UNKNOWN() = 0` Represents a form widget type that is unknown |

| ### Public fields |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/os/Parcelable.Creator.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo>` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#CREATOR()` |

| ### Public methods |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#createCheckbox(kotlin.Int,android.graphics.Rect,kotlin.String,kotlin.String,kotlin.Boolean)( @https://developer.android.com/reference/androidx/annotation/IntRange(from = 0) int widgetIndex, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/graphics/Rect.html widgetRect, https://developer.android.com/reference/java/lang/String.html textValue, https://developer.android.com/reference/java/lang/String.html accessibilityLabel, boolean isReadOnly )` Factory method for creating form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_CHECKBOX()`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#createComboBox(kotlin.Int,android.graphics.Rect,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean,kotlin.Float,kotlin.collections.List)( @https://developer.android.com/reference/androidx/annotation/IntRange(from = 0) int widgetIndex, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/graphics/Rect.html widgetRect, https://developer.android.com/reference/java/lang/String.html textValue, https://developer.android.com/reference/java/lang/String.html accessibilityLabel, boolean isReadOnly, boolean isEditableText, @https://developer.android.com/reference/androidx/annotation/FloatRange(from = 0.0) float fontSize, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/models/ListItem> listItems )` Factory method for creating form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_COMBOBOX()`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#createListBox(kotlin.Int,android.graphics.Rect,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean,kotlin.collections.List)( @https://developer.android.com/reference/androidx/annotation/IntRange(from = 0) int widgetIndex, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/graphics/Rect.html widgetRect, https://developer.android.com/reference/java/lang/String.html textValue, https://developer.android.com/reference/java/lang/String.html accessibilityLabel, boolean isReadOnly, boolean isMultiSelect, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/models/ListItem> listItems )` |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#createPushButton(kotlin.Int,android.graphics.Rect,kotlin.String,kotlin.String,kotlin.Boolean)( @https://developer.android.com/reference/androidx/annotation/IntRange(from = 0) int widgetIndex, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/graphics/Rect.html widgetRect, https://developer.android.com/reference/java/lang/String.html textValue, https://developer.android.com/reference/java/lang/String.html accessibilityLabel, boolean isReadOnly )` Factory method for creating form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_PUSHBUTTON()`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#createRadioButton(kotlin.Int,android.graphics.Rect,kotlin.String,kotlin.String,kotlin.Boolean)( @https://developer.android.com/reference/androidx/annotation/IntRange(from = 0) int widgetIndex, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/graphics/Rect.html widgetRect, https://developer.android.com/reference/java/lang/String.html textValue, https://developer.android.com/reference/java/lang/String.html accessibilityLabel, boolean isReadOnly )` Factory method for creating form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_RADIOBUTTON()`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#createSignature(kotlin.Int,android.graphics.Rect,kotlin.String,kotlin.String,kotlin.Boolean)( @https://developer.android.com/reference/androidx/annotation/IntRange(from = 0) int widgetIndex, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/graphics/Rect.html widgetRect, https://developer.android.com/reference/java/lang/String.html textValue, https://developer.android.com/reference/java/lang/String.html accessibilityLabel, boolean isReadOnly )` Factory method for creating form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_SIGNATURE()`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#createTextField(kotlin.Int,android.graphics.Rect,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean,kotlin.Boolean,kotlin.Int,kotlin.Float)( @https://developer.android.com/reference/androidx/annotation/IntRange(from = 0) int widgetIndex, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/graphics/Rect.html widgetRect, https://developer.android.com/reference/java/lang/String.html textValue, https://developer.android.com/reference/java/lang/String.html accessibilityLabel, boolean isReadOnly, boolean isEditableText, boolean isMultiLineText, @https://developer.android.com/reference/androidx/annotation/IntRange(from = 0) int maxLength, @https://developer.android.com/reference/androidx/annotation/FloatRange(from = 0.0) float fontSize )` Factory method for creating form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_TEXTFIELD()`. |
| `int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#describeContents()()` |
| `boolean` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#equals(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html other)` |
| `final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#getAccessibilityLabel()()` The accessibility label for this widget, if present. |
| `final float` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#getFontSize()()` The configured font size for a form widget that accepts text input (`https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_COMBOBOX()` or `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_TEXTFIELD()`), or 0 for widgets this does not apply to. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/pdf/models/ListItem>` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#getListItems()()` The set of choice options in a form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_COMBOBOX()` or `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_LISTBOX()`, or an empty list for other widget types. |
| `final int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#getMaxLength()()` The configured maximum text length for a form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_TEXTFIELD()`), or -1 for widgets this does not apply to. |
| `final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#getTextValue()()` The text value of this widget, if present. |
| `final int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#getWidgetIndex()()` The index of this widget among all form widgets on the page |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/graphics/Rect.html` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#getWidgetRect()()` The bounds of this widget in PDF coordinates |
| `final int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#getWidgetType()()` The `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo.WidgetType` of this widget |
| `int` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#hashCode()()` |
| `final boolean` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#isEditableText()()` True if this widget has editable text. |
| `final boolean` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#isMultiLineText()()` True if this widget supports multi-line text input. |
| `final boolean` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#isMultiSelect()()` True if this widget supports selecting multiple `https://developer.android.com/reference/androidx/pdf/models/ListItem`s. |
| `final boolean` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#isReadOnly()()` True if this widget is read-only and accepts changes |
| `void` | `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#writeToParcel(android.os.Parcel,kotlin.Int)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/os/Parcel.html dest, int flags)` |

## Constants

### WIDGET_TYPE_CHECKBOX

```
public static final int WIDGET_TYPE_CHECKBOX = 2
```

Represents a checkbox type form widget

### WIDGET_TYPE_COMBOBOX

```
public static final int WIDGET_TYPE_COMBOBOX = 4
```

Represents a combobox type form widget

### WIDGET_TYPE_LISTBOX

```
public static final int WIDGET_TYPE_LISTBOX = 5
```

Represents a listbox type form widget

### WIDGET_TYPE_PUSHBUTTON

```
public static final int WIDGET_TYPE_PUSHBUTTON = 1
```

Represents a push button type form widget

### WIDGET_TYPE_RADIOBUTTON

```
public static final int WIDGET_TYPE_RADIOBUTTON = 3
```

Represents a radio button type form widget

### WIDGET_TYPE_SIGNATURE

```
public static final int WIDGET_TYPE_SIGNATURE = 7
```

Represents a signature type form widget

### WIDGET_TYPE_TEXTFIELD

```
public static final int WIDGET_TYPE_TEXTFIELD = 6
```

Represents a text field type form widget

### WIDGET_TYPE_UNKNOWN

```
public static final int WIDGET_TYPE_UNKNOWN = 0
```

Represents a form widget type that is unknown

## Public fields

### CREATOR

```
public static final @NonNull Parcelable.Creator<@NonNull FormWidgetInfo> CREATOR
```

## Public methods

### createCheckbox

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public static final @NonNull FormWidgetInfo createCheckbox(
    @IntRange(from = 0) int widgetIndex,
    @NonNull Rect widgetRect,
    String textValue,
    String accessibilityLabel,
    boolean isReadOnly
)
```

Factory method for creating form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_CHECKBOX()`.

### createComboBox

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public static final @NonNull FormWidgetInfo createComboBox(
    @IntRange(from = 0) int widgetIndex,
    @NonNull Rect widgetRect,
    String textValue,
    String accessibilityLabel,
    boolean isReadOnly,
    boolean isEditableText,
    @FloatRange(from = 0.0) float fontSize,
    @NonNull List<@NonNull ListItem> listItems
)
```

Factory method for creating form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_COMBOBOX()`.

### createListBox

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public static final @NonNull FormWidgetInfo createListBox(
    @IntRange(from = 0) int widgetIndex,
    @NonNull Rect widgetRect,
    String textValue,
    String accessibilityLabel,
    boolean isReadOnly,
    boolean isMultiSelect,
    @NonNull List<@NonNull ListItem> listItems
)
```

### createPushButton

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public static final @NonNull FormWidgetInfo createPushButton(
    @IntRange(from = 0) int widgetIndex,
    @NonNull Rect widgetRect,
    String textValue,
    String accessibilityLabel,
    boolean isReadOnly
)
```

Factory method for creating form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_PUSHBUTTON()`.

### createRadioButton

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public static final @NonNull FormWidgetInfo createRadioButton(
    @IntRange(from = 0) int widgetIndex,
    @NonNull Rect widgetRect,
    String textValue,
    String accessibilityLabel,
    boolean isReadOnly
)
```

Factory method for creating form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_RADIOBUTTON()`.

### createSignature

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public static final @NonNull FormWidgetInfo createSignature(
    @IntRange(from = 0) int widgetIndex,
    @NonNull Rect widgetRect,
    String textValue,
    String accessibilityLabel,
    boolean isReadOnly
)
```

Factory method for creating form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_SIGNATURE()`.

### createTextField

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public static final @NonNull FormWidgetInfo createTextField(
    @IntRange(from = 0) int widgetIndex,
    @NonNull Rect widgetRect,
    String textValue,
    String accessibilityLabel,
    boolean isReadOnly,
    boolean isEditableText,
    boolean isMultiLineText,
    @IntRange(from = 0) int maxLength,
    @FloatRange(from = 0.0) float fontSize
)
```

Factory method for creating form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_TEXTFIELD()`.

### describeContents

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public int describeContents()
```

### equals

```
public boolean equals(Object other)
```

### getAccessibilityLabel

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public final String getAccessibilityLabel()
```

The accessibility label for this widget, if present. Comes from the "TU" or "T" value in the annotation dictionary.

See PDF spec 1.7 Table 8.69

### getFontSize

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public final float getFontSize()
```

The configured font size for a form widget that accepts text input (`https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_COMBOBOX()` or `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_TEXTFIELD()`), or 0 for widgets this does not apply to.

### getListItems

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public final @NonNull List<@NonNull ListItem> getListItems()
```

The set of choice options in a form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_COMBOBOX()` or `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_LISTBOX()`, or an empty list for other widget types.

### getMaxLength

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public final int getMaxLength()
```

The configured maximum text length for a form widget of type `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_TEXTFIELD()`), or -1 for widgets this does not apply to.

### getTextValue

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public final String getTextValue()
```

The text value of this widget, if present. Comes from the "V" value in the annotation dictionary.

See PDF spec 1.7 Table 8.69

### getWidgetIndex

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public final int getWidgetIndex()
```

The index of this widget among all form widgets on the page

### getWidgetRect

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public final @NonNull Rect getWidgetRect()
```

The bounds of this widget in PDF coordinates

### getWidgetType

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public final int getWidgetType()
```

The `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo.WidgetType` of this widget

### hashCode

```
public int hashCode()
```

### isEditableText

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public final boolean isEditableText()
```

True if this widget has editable text. Only applicable to `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_COMBOBOX()` or `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_TEXTFIELD()`. Defaults to 'false' for other widget types.

### isMultiLineText

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public final boolean isMultiLineText()
```

True if this widget supports multi-line text input. Only applicable to `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_TEXTFIELD()`. Defaults to 'false' for other widget types.

### isMultiSelect

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public final boolean isMultiSelect()
```

True if this widget supports selecting multiple `https://developer.android.com/reference/androidx/pdf/models/ListItem`s. Only applicable to `https://developer.android.com/reference/androidx/pdf/models/FormWidgetInfo#WIDGET_TYPE_LISTBOX()`. Defaults to 'false' for other widget types.

### isReadOnly

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public final boolean isReadOnly()
```

True if this widget is read-only and accepts changes

### writeToParcel

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-beta01)

```
public void writeToParcel(@NonNull Parcel dest, int flags)
```