public interface

TintableCompoundDrawablesView

 androidx.core.widget.TintableCompoundDrawablesView

Subclasses:

SearchEditText, ActionMenuItemView, AppCompatMultiAutoCompleteTextView, AppCompatCheckedTextView, SearchView.SearchAutoComplete, AppCompatAutoCompleteTextView, AppCompatCheckBox, AppCompatTextView, DialogTitle, AppCompatButton, AppCompatRadioButton, AppCompatToggleButton, AppCompatEditText, MotionButton, GuidedActionAppCompatEditText, EmojiAppCompatButton, EmojiAppCompatEditText, EmojiAppCompatTextView

Gradle dependencies

compile group: 'androidx.core', name: 'core', version: '1.15.0-alpha02'

  • groupId: androidx.core
  • artifactId: core
  • version: 1.15.0-alpha02

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

Androidx artifact mapping:

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

Overview

Interface which allows android.widget.TextView and subclasses to tint compound drawables with TextViewCompat when running on API v22 devices or lower.

Summary

Methods
public ColorStateListgetSupportCompoundDrawablesTintList()

Return the tint applied to the compound drawables, if specified.

public PorterDuff.ModegetSupportCompoundDrawablesTintMode()

Returns the blending mode used to apply the tint to the compound drawables, if specified.

public voidsetSupportCompoundDrawablesTintList(ColorStateList tint)

Applies a tint to the compound drawables.

public voidsetSupportCompoundDrawablesTintMode(PorterDuff.Mode tintMode)

Specifies the blending mode used to apply the tint specified by TintableCompoundDrawablesView.setSupportCompoundDrawablesTintList(ColorStateList) to the compound drawables.

Methods

public void setSupportCompoundDrawablesTintList(ColorStateList tint)

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

Subsequent calls to android.widget.TextView and related methods will automatically mutate the drawables and apply the specified tint and tint mode.

Parameters:

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

See also: TintableCompoundDrawablesView.getSupportCompoundDrawablesTintList()

public ColorStateList getSupportCompoundDrawablesTintList()

Return the tint applied to the compound drawables, if specified.

Returns:

the tint applied to the compound drawables

public void setSupportCompoundDrawablesTintMode(PorterDuff.Mode tintMode)

Specifies the blending mode used to apply the tint specified by TintableCompoundDrawablesView.setSupportCompoundDrawablesTintList(ColorStateList) to the compound drawables. The default mode is .

Parameters:

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

See also: TintableCompoundDrawablesView.getSupportCompoundDrawablesTintMode(), TintableCompoundDrawablesView.setSupportCompoundDrawablesTintList(ColorStateList)

public PorterDuff.Mode getSupportCompoundDrawablesTintMode()

Returns the blending mode used to apply the tint to the compound drawables, if specified.

Returns:

the blending mode used to apply the tint to the compound drawables

See also: TintableCompoundDrawablesView.setSupportCompoundDrawablesTintMode(PorterDuff.Mode)

Source

/*
 * Copyright 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.widget;

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

import androidx.annotation.Nullable;

/**
 * Interface which allows {@link android.widget.TextView} and subclasses to tint compound drawables
 * with {@link TextViewCompat} when running on API v22 devices or lower.
 */
/*
 * When used with androidx.resourceinspection.annotation.AppCompatShadowedAttributes, this
 * interface implies that AppCompat shadows the platform's compound drawable tint attributes.
 * See androidx.resourceinspection.processor for more details and a full mapping of attributes.
 */
public interface TintableCompoundDrawablesView {
    /**
     * Applies a tint to the compound drawables. Does not modify the
     * current tint mode, which is {@link PorterDuff.Mode#SRC_IN} by default.
     * <p>
     * Subsequent calls to
     * {@link android.widget.TextView#setCompoundDrawables(Drawable, Drawable, Drawable, Drawable)}
     * and related methods will automatically mutate the drawables and apply
     * the specified tint and tint mode.
     *
     * @param tint the tint to apply, may be {@code null} to clear tint
     * @see #getSupportCompoundDrawablesTintList()
     */
    void setSupportCompoundDrawablesTintList(@Nullable ColorStateList tint);

    /**
     * Return the tint applied to the compound drawables, if specified.
     *
     * @return the tint applied to the compound drawables
     */
    @Nullable
    ColorStateList getSupportCompoundDrawablesTintList();

    /**
     * Specifies the blending mode used to apply the tint specified by
     * {@link #setSupportCompoundDrawablesTintList(ColorStateList)} to the compound
     * drawables. 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 #getSupportCompoundDrawablesTintMode()
     * @see #setSupportCompoundDrawablesTintList(ColorStateList)
     */
    void setSupportCompoundDrawablesTintMode(@Nullable PorterDuff.Mode tintMode);

    /**
     * Returns the blending mode used to apply the tint to the compound
     * drawables, if specified.
     *
     * @return the blending mode used to apply the tint to the compound
     * drawables
     * @see #setSupportCompoundDrawablesTintMode(PorterDuff.Mode)
     */
    @Nullable
    PorterDuff.Mode getSupportCompoundDrawablesTintMode();
}