Google is committed to advancing racial equity for Black communities. See how.

BidirectionalTypeConverter

abstract class BidirectionalTypeConverter<T : Any!, V : Any!> : TypeConverter<T, V>
kotlin.Any
   ↳ androidx.core.animation.TypeConverter<T, V>
   ↳ androidx.core.animation.BidirectionalTypeConverter

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.

Summary

Public constructors
<init>(@NonNull fromClass: Class<T>, @NonNull toClass: Class<V>)

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

Public methods
abstract T
convertBack(@NonNull value: V)

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

open BidirectionalTypeConverter<V, T>

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

Inherited functions

Public constructors

<init>

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

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

Parameters
fromClass Class<T>: class of type T
toClass Class<V>: class of type V

Public methods

convertBack

@NonNull abstract fun convertBack(@NonNull value: V): T

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
value V: The Object to convert.
Return
T A value of type T, converted from value.

invert

@NonNull open fun invert(): BidirectionalTypeConverter<V, T>

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

Return
BidirectionalTypeConverter<V, T> The inverse of this converter, where the from and to classes are reversed.