Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Inherited Constants](https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#inhconstants) \| [Ctors](https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#pubctors) \| [Methods](https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#inhmethods)

# RangeTemplate

*** ** * ** ***

` public final class RangeTemplate `   
` ` ` extends https://developer.android.com/reference/android/service/controls/templates/ControlTemplate ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [android.service.controls.templates.ControlTemplate](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate) ||
|   | ↳ | android.service.controls.templates.RangeTemplate |

<br />

*** ** * ** ***

A template for a `https://developer.android.com/reference/android/service/controls/Control` with inputs in a "continuous" range of values.
**See also:**

- `https://developer.android.com/reference/android/service/controls/actions/FloatAction`

## Summary

### Inherited constants

From class `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate` `int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_ERROR`

Type identifier of the template returned by `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getErrorTemplate()`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_NO_TEMPLATE`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getNoTemplateObject()`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_RANGE`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/RangeTemplate`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_STATELESS`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/StatelessTemplate`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_TEMPERATURE`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_THUMBNAIL`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/ThumbnailTemplate`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_TOGGLE`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/ToggleTemplate`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_TOGGLE_RANGE`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/ToggleRangeTemplate`.

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#RangeTemplate(java.lang.String,%20float,%20float,%20float,%20float,%20java.lang.CharSequence)(https://developer.android.com/reference/java/lang/String templateId, float minValue, float maxValue, float currentValue, float stepValue, https://developer.android.com/reference/java/lang/CharSequence formatString) ` Construct a new `https://developer.android.com/reference/android/service/controls/templates/RangeTemplate`. |

| ### Public methods ||
|---|---|
| ` float` | ` https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#getCurrentValue()() ` The current value for this range. |
| ` https://developer.android.com/reference/java/lang/CharSequence` | ` https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#getFormatString()() ` Formatter for generating a user visible `https://developer.android.com/reference/java/lang/String` representing the value returned by `https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#getCurrentValue()`. |
| ` float` | ` https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#getMaxValue()() ` The maximum value for this range. |
| ` float` | ` https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#getMinValue()() ` The minimum value for this range. |
| ` float` | ` https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#getStepValue()() ` The value of the smallest increment or decrement that can be performed on this range. |
| ` int` | ` https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#getTemplateType()() ` The template type associated with this class. |

### Inherited methods

From class ` https://developer.android.com/reference/android/service/controls/templates/ControlTemplate ` ` static https://developer.android.com/reference/android/service/controls/templates/ControlTemplate` ` https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getErrorTemplate()() ` ` static https://developer.android.com/reference/android/service/controls/templates/ControlTemplate` ` https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getNoTemplateObject()() `

Get a singleton `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate`, which supports no direct user input.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getTemplateId()() ` ` abstract int` ` https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getTemplateType()() `

The template type associated with this class.
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*.

## Public constructors

### RangeTemplate

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public RangeTemplate (String templateId, 
                float minValue, 
                float maxValue, 
                float currentValue, 
                float stepValue, 
                CharSequence formatString)
```

Construct a new `https://developer.android.com/reference/android/service/controls/templates/RangeTemplate`. The range must be valid, meaning:

- `minValue` \< `maxValue`
- `minValue` \< `currentValue`
- `currentValue` \< `maxValue`
- 0 \< `stepValue`

The current value of the Control will be formatted accordingly.

<br />

| Parameters ||
|---|---|
| `templateId` | `String`: the identifier for this template object. This value cannot be `null`. <br /> |
| `minValue` | `float`: minimum value for the input <br /> |
| `maxValue` | `float`: maximum value for the input <br /> |
| `currentValue` | `float`: the current value of the `https://developer.android.com/reference/android/service/controls/Control` containing this object. <br /> |
| `stepValue` | `float`: minimum value of increments/decrements when interacting with this control. <br /> |
| `formatString` | `CharSequence`: a formatting string as per `https://developer.android.com/reference/java/lang/String#format(java.lang.String,%20java.lang.Object[])` used to display the `currentValue`. If `null` is passed, the "%.1f" is used. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if the parameters passed do not make a valid range. |

## Public methods

### getCurrentValue

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public float getCurrentValue ()
```

The current value for this range.

<br />

| Returns ||
|---|---|
| `float` | <br /> |

### getFormatString

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public CharSequence getFormatString ()
```

Formatter for generating a user visible `https://developer.android.com/reference/java/lang/String` representing the value returned by `https://developer.android.com/reference/android/service/controls/templates/RangeTemplate#getCurrentValue()`.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/CharSequence` | a formatting string as specified in `https://developer.android.com/reference/java/lang/String#format(java.lang.String,%20java.lang.Object[])` This value cannot be `null`. <br /> |

### getMaxValue

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public float getMaxValue ()
```

The maximum value for this range.

<br />

| Returns ||
|---|---|
| `float` | <br /> |

### getMinValue

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public float getMinValue ()
```

The minimum value for this range.

<br />

| Returns ||
|---|---|
| `float` | <br /> |

### getStepValue

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public float getStepValue ()
```

The value of the smallest increment or decrement that can be performed on this range.

<br />

| Returns ||
|---|---|
| `float` | <br /> |

### getTemplateType

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getTemplateType ()
```

The template type associated with this class.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_RANGE` <br /> |