public abstract class

FloatProperty<T>

extends <any>

 java.lang.Object

↳<any>

↳androidx.core.animation.FloatProperty<T>

Gradle dependencies

compile group: 'androidx.core', name: 'core-animation', version: '1.0.0-beta01'

  • groupId: androidx.core
  • artifactId: core-animation
  • version: 1.0.0-beta01

Artifact androidx.core:core-animation:1.0.0-beta01 it located at Google repository (https://maven.google.com/)

Overview

An implementation of to be used specifically with fields of type float. This type-specific subclass enables performance benefit by allowing calls to a setValue() function that takes the primitive float type and avoids autoboxing and other overhead associated with the Float class.

Summary

Constructors
publicFloatProperty()

A constructor that creates a float property instance with an empty name.

publicFloatProperty(java.lang.String name)

A constructor that takes an identifying name for the float property.

Methods
public final voidset(java.lang.Object object, java.lang.Float value)

public abstract voidsetValue(java.lang.Object object, float value)

A type-specific variant of FloatProperty.set(T, Float) that is faster when dealing with fields of type float.

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public FloatProperty(java.lang.String name)

A constructor that takes an identifying name for the float property. This name will show up as a part of ObjectAnimator.getPropertyName() when the ObjectAnimator is created with a instance as the animation property. This name will also appear in systrace as a part of the animator name.

Parameters:

name: name to be used to identify the property

See also: FloatProperty.FloatProperty()

public FloatProperty()

A constructor that creates a float property instance with an empty name. To create a named float property, see FloatProperty.FloatProperty(String)

See also: FloatProperty.FloatProperty(String)

Methods

public abstract void setValue(java.lang.Object object, float value)

A type-specific variant of FloatProperty.set(T, Float) that is faster when dealing with fields of type float.

public final void set(java.lang.Object object, java.lang.Float value)

Source

/*
 * Copyright (C) 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package androidx.core.animation;

import android.annotation.SuppressLint;
import android.util.Property;

import androidx.annotation.NonNull;

/**
 * An implementation of {@link android.util.Property} to be used specifically with fields of type
 * <code>float</code>. This type-specific subclass enables performance benefit by allowing
 * calls to a {@link #setValue(Object, float) setValue()} function that takes the primitive
 * <code>float</code> type and avoids autoboxing and other overhead associated with the
 * <code>Float</code> class.
 *
 * @param <T> The class on which the Property is declared.
 */
public abstract class FloatProperty<T> extends Property<T, Float> {

    /**
     * A constructor that takes an identifying name for the float property. This name
     * will show up as a part of {@link ObjectAnimator#getPropertyName()} when the
     * {@link ObjectAnimator} is created with a {@link Property} instance as the animation property.
     * This name will also appear in systrace as a part of the animator name.
     *
     * @param name name to be used to identify the property
     * @see #FloatProperty()
     */
    public FloatProperty(@NonNull String name) {
        super(Float.class, name);
    }

    /**
     * A constructor that creates a float property instance with an empty name. To create a named
     * float property, see {@link #FloatProperty(String)}
     * @see #FloatProperty(String)
     */
    public FloatProperty() {
        super(Float.class, "");
    }

    /**
     * A type-specific variant of {@link #set(Object, Float)} that is faster when dealing
     * with fields of type <code>float</code>.
     */
    public abstract void setValue(@NonNull T object, float value);

    @Override
    public final void set(
            @NonNull T object,
            @SuppressLint("AutoBoxing") /* Generics */ @NonNull Float value
    ) {
        setValue(object, value);
    }
}