BidirectionalTypeConverter


public abstract class BidirectionalTypeConverter<T, V> extends TypeConverter


Abstract base class used convert type T to another type V and back again. This is necessary when the value types of in animation are different from the property type. BidirectionalTypeConverter is needed when only the final value for the animation is supplied to animators.

Parameters
<T>

type T. It can be converted from and to type V

<V>

type V. It can be converted from and to type T

See also
setConverter

Summary

Public constructors

BidirectionalTypeConverter(
    @NonNull Class<T> fromClass,
    @NonNull Class<V> toClass
)

Constructor for creating a bidirectional type converter instance that can convert type T to another type V and back again.

Public methods

abstract @NonNull T
convertBack(@NonNull V value)

Does a conversion from the target type back to the source type.

@NonNull BidirectionalTypeConverter<V, T>

Returns the inverse of this converter, where the from and to classes are reversed.

Inherited methods

From androidx.core.animation.TypeConverter
abstract @NonNull V
convert(@NonNull T value)

Converts a value from one type to another.

Public constructors

BidirectionalTypeConverter

public BidirectionalTypeConverter(
    @NonNull Class<T> fromClass,
    @NonNull Class<V> toClass
)

Constructor for creating a bidirectional type converter instance that can convert type T to another type V and back again.

Parameters
@NonNull Class<T> fromClass

class of type T

@NonNull Class<V> toClass

class of type V

Public methods

convertBack

public abstract @NonNullconvertBack(@NonNull V value)

Does a conversion from the target type back to the source type. The subclass must implement this when a TypeConverter is used in animations and current values will need to be read for an animation.

Parameters
@NonNull V value

The Object to convert.

Returns
@NonNull T

A value of type T, converted from value.

invert

public @NonNull BidirectionalTypeConverter<V, T> invert()

Returns the inverse of this converter, where the from and to classes are reversed. The inverted converter uses this convert to call convertBack for convert calls and convert for convertBack calls.

Returns
@NonNull BidirectionalTypeConverter<V, T>

The inverse of this converter, where the from and to classes are reversed.