public interface

TintableImageSourceView

 androidx.core.widget.TintableImageSourceView

Subclasses:

AppCompatImageView, AppCompatImageButton, ImageFilterButton, ImageFilterView

Gradle dependencies

compile group: 'androidx.core', name: 'core', version: '1.9.0-alpha04'

  • groupId: androidx.core
  • artifactId: core
  • version: 1.9.0-alpha04

Artifact androidx.core:core:1.9.0-alpha04 it located at Google repository (https://maven.google.com/)

Androidx artifact mapping:

androidx.core:core com.android.support:support-compat

Androidx class mapping:

androidx.core.widget.TintableImageSourceView android.support.v4.widget.TintableImageSourceView

Overview

Interface which allows an android.widget.ImageView to receive image tinting calls from ImageViewCompat when running on API v20 devices or lower.

When used on a View annotated with AppCompatShadowedAttributes, this interface implies that AppCompat shadows the platform's image tint attributes. See for more details and a full mapping of attributes.

Summary

Methods
public ColorStateListgetSupportImageTintList()

Return the tint applied to the image drawable, if specified.

public PorterDuff.ModegetSupportImageTintMode()

Return the blending mode used to apply the tint to the image drawable, if specified.

public voidsetSupportImageTintList(ColorStateList tint)

Applies a tint to the image drawable.

public voidsetSupportImageTintMode(PorterDuff.Mode tintMode)

Specifies the blending mode used to apply the tint specified by TintableImageSourceView.setSupportImageTintList(ColorStateList)} to the image drawable.

Methods

public void setSupportImageTintList(ColorStateList tint)

Applies a tint to the image drawable. Does not modify the current tint mode, which is by default.

Subsequent calls to the source's image will automatically mutate the drawable and apply the specified tint and tint mode.

Parameters:

tint: the tint to apply, may be null to clear tint

See also: TintableImageSourceView.getSupportImageTintList()

public ColorStateList getSupportImageTintList()

Return the tint applied to the image drawable, if specified.

Returns:

the tint applied to the image drawable

public void setSupportImageTintMode(PorterDuff.Mode tintMode)

Specifies the blending mode used to apply the tint specified by TintableImageSourceView.setSupportImageTintList(ColorStateList)} to the image drawable. The default mode is .

Parameters:

tintMode: the blending mode used to apply the tint, may be null to clear tint

See also: TintableImageSourceView.getSupportImageTintMode()

public PorterDuff.Mode getSupportImageTintMode()

Return the blending mode used to apply the tint to the image drawable, if specified.

Returns:

the blending mode used to apply the tint to the image drawable

Source

/*
 * Copyright (C) 2017 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.widget;

import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX;

import android.content.res.ColorStateList;
import android.graphics.PorterDuff;

import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;

/**
 * Interface which allows an {@link android.widget.ImageView} to receive image tinting calls
 * from {@link ImageViewCompat} when running on API v20 devices or lower.
 * <p>
 * When used on a View annotated with
 * {@link androidx.resourceinspection.annotation.AppCompatShadowedAttributes}, this interface
 * implies that AppCompat shadows the platform's image tint attributes. See
 * {@link androidx.resourceinspection.processor} for more details and a full mapping of attributes.
 *
 * @hide Internal use only
 */
@RestrictTo(LIBRARY_GROUP_PREFIX)
public interface TintableImageSourceView {

    /**
     * Applies a tint to the image drawable. Does not modify the current tint
     * mode, which is {@link PorterDuff.Mode#SRC_IN} by default.
     * <p>
     * Subsequent calls to the source's image will automatically
     * mutate the drawable and apply the specified tint and tint mode.
     *
     * @param tint the tint to apply, may be {@code null} to clear tint
     *
     * @see #getSupportImageTintList()
     */
    void setSupportImageTintList(@Nullable ColorStateList tint);

    /**
     * Return the tint applied to the image drawable, if specified.
     *
     * @return the tint applied to the image drawable
     */
    @Nullable
    ColorStateList getSupportImageTintList();

    /**
     * Specifies the blending mode used to apply the tint specified by
     * {@link #setSupportImageTintList(ColorStateList)}} to the image
     * drawable. The default mode is {@link PorterDuff.Mode#SRC_IN}.
     *
     * @param tintMode the blending mode used to apply the tint, may be
     *                 {@code null} to clear tint
     * @see #getSupportImageTintMode()
     */
    void setSupportImageTintMode(@Nullable PorterDuff.Mode tintMode);

    /**
     * Return the blending mode used to apply the tint to the image
     * drawable, if specified.
     *
     * @return the blending mode used to apply the tint to the image drawable
     */
    @Nullable
    PorterDuff.Mode getSupportImageTintMode();
}