Example usage for android.content.res ColorStateList getDefaultColor

List of usage examples for android.content.res ColorStateList getDefaultColor

Introduction

In this page you can find the example usage for android.content.res ColorStateList getDefaultColor.

Prototype

@ColorInt
public int getDefaultColor() 

Source Link

Document

Return the default color in this ColorStateList .

Usage

From source file:Main.java

public static int lighter(ColorStateList color, float factor) {
    return lighter(color.getDefaultColor(), factor);
}

From source file:Main.java

public static int resolveColor(Context context, int colorAttr, int defaultResId) {
    TypedValue typedValue = new TypedValue();
    boolean resolved = context.getTheme().resolveAttribute(colorAttr, typedValue, true);
    if (resolved) {
        if (typedValue.type == TypedValue.TYPE_STRING) {
            ColorStateList stateList = context.getResources().getColorStateList(typedValue.resourceId);
            if (stateList != null)
                return stateList.getDefaultColor();
        } else {/*w  w  w .  j av  a 2s  .c  o m*/
            return typedValue.data;
        }
    }

    return context.getResources().getColor(defaultResId);
}

From source file:com.tr4android.support.extension.picker.PickerThemeUtils.java

public static void setNavButtonDrawable(Context context, ImageButton left, ImageButton right,
        int monthTextAppearanceResId) {
    // Retrieve the previous and next drawables
    AppCompatDrawableManager dm = AppCompatDrawableManager.get();
    Drawable prevDrawable = dm.getDrawable(context, R.drawable.ic_chevron_left_black_24dp);
    Drawable nextDrawable = dm.getDrawable(context, R.drawable.ic_chevron_right_black_24dp);

    // Proxy the month text color into the previous and next drawables.
    final TypedArray ta = context.obtainStyledAttributes(null, new int[] { android.R.attr.textColor }, 0,
            monthTextAppearanceResId);/*from ww  w .  j ava  2 s .c o  m*/
    final ColorStateList monthColor = ta.getColorStateList(0);
    if (monthColor != null) {
        DrawableCompat.setTint(DrawableCompat.wrap(prevDrawable), monthColor.getDefaultColor());
        DrawableCompat.setTint(DrawableCompat.wrap(nextDrawable), monthColor.getDefaultColor());
    }
    ta.recycle();

    // Set the previous and next drawables
    left.setImageDrawable(prevDrawable);
    right.setImageDrawable(nextDrawable);
}

From source file:android.support.v7.internal.widget.ThemeUtils.java

static int getDisabledThemeAttrColor(Context context, int attr) {
    final ColorStateList csl = getThemeAttrColorStateList(context, attr);
    if (csl != null && csl.isStateful()) {
        // If the CSL is stateful, we'll assume it has a disabled state and use it
        return csl.getColorForState(DISABLED_STATE_SET, csl.getDefaultColor());
    } else {//from   w ww .j  a va 2  s  . com
        // Else, we'll generate the color using disabledAlpha from the theme

        final TypedValue tv = getTypedValue();
        // Now retrieve the disabledAlpha value from the theme
        context.getTheme().resolveAttribute(android.R.attr.disabledAlpha, tv, true);
        final float disabledAlpha = tv.getFloat();

        return getThemeAttrColor(context, attr, disabledAlpha);
    }
}

From source file:android.support.v7.widget.ThemeUtils.java

public static int getDisabledThemeAttrColor(Context context, int attr) {
    final ColorStateList csl = getThemeAttrColorStateList(context, attr);
    if (csl != null && csl.isStateful()) {
        // If the CSL is stateful, we'll assume it has a disabled state and use it
        return csl.getColorForState(DISABLED_STATE_SET, csl.getDefaultColor());
    } else {/*from w w  w  . jav a2 s . co  m*/
        // Else, we'll generate the color using disabledAlpha from the theme

        final TypedValue tv = getTypedValue();
        // Now retrieve the disabledAlpha value from the theme
        context.getTheme().resolveAttribute(android.R.attr.disabledAlpha, tv, true);
        final float disabledAlpha = tv.getFloat();

        return getThemeAttrColor(context, attr, disabledAlpha);
    }
}

From source file:com.nadmm.airports.utils.UiUtils.java

static public Drawable getTintedDrawable(Context context, int resid, ColorStateList tintList) {
    // Get a mutable copy of the drawable so each can be set to a different color
    String key = String.format(Locale.US, "%d:%d", resid, tintList.getDefaultColor());
    Drawable d = getDrawableFromCache(key);
    if (d == null) {
        d = ResourcesCompat.getDrawable(context.getResources(), resid, null).mutate();
        DrawableCompat.setTintList(d, tintList);
        putDrawableIntoCache(key, d);/*  w w  w .  ja  v  a2 s  . c o m*/
    }
    return d;
}

From source file:com.bilibili.magicasakura.utils.TintManager.java

private static PorterDuffColorFilter createTintFilter(Context context, ColorStateList tint,
        PorterDuff.Mode tintMode, final int[] state) {
    if (tint == null || tintMode == null) {
        return null;
    }//from  w ww . j  ava  2s.  c o  m
    final int color = ThemeUtils.replaceColor(context, tint.getColorForState(state, tint.getDefaultColor()));
    return getPorterDuffColorFilter(color, tintMode);
}

From source file:com.demo.wondersdaili.mvp.utils.ThemeUtils.java

static TintInfo parseColorStateList(ColorStateList origin) {
    if (origin == null)
        return null;

    boolean hasDisable = false;
    int originDefaultColor = origin.getDefaultColor();
    LinkedList<int[]> stateList = new LinkedList<>();
    LinkedList<Integer> colorList = new LinkedList<>();

    int disableColor = origin.getColorForState(DISABLED_STATE_SET, 0);
    if (disableColor != originDefaultColor) {
        hasDisable = true;/*from w ww  .j ava2 s .co  m*/
        stateList.add(DISABLED_STATE_SET);
        colorList.add(disableColor);
    }

    int pressedColor = origin.getColorForState(wrapState(hasDisable, PRESSED_STATE_SET), 0);
    if (pressedColor != originDefaultColor) {
        stateList.add(PRESSED_STATE_SET);
        colorList.add(pressedColor);
    }

    int focusColor = origin.getColorForState(wrapState(hasDisable, FOCUSED_STATE_SET), 0);
    if (focusColor != originDefaultColor) {
        stateList.add(FOCUSED_STATE_SET);
        colorList.add(focusColor);
    }

    int checkedColor = origin.getColorForState(wrapState(hasDisable, CHECKED_STATE_SET), 0);
    if (checkedColor != originDefaultColor) {
        stateList.add(CHECKED_STATE_SET);
        colorList.add(checkedColor);
    }

    int selectedColor = origin.getColorForState(wrapState(hasDisable, SELECTED_STATE_SET), 0);
    if (selectedColor != originDefaultColor) {
        stateList.add(SELECTED_STATE_SET);
        colorList.add(selectedColor);
    }

    int normalColor = origin.getColorForState(wrapState(hasDisable, EMPTY_STATE_SET), 0);
    if (normalColor != 0) {
        stateList.add(EMPTY_STATE_SET);
        colorList.add(normalColor);
    }

    if (colorList.size() > 1) {
        return new TintInfo(stateList, colorList);
    } else {
        return null;
    }
}

From source file:com.bilibili.magicasakura.utils.ThemeUtils.java

static com.bilibili.magicasakura.utils.TintInfo parseColorStateList(ColorStateList origin) {
    if (origin == null)
        return null;

    boolean hasDisable = false;
    int originDefaultColor = origin.getDefaultColor();
    LinkedList<int[]> stateList = new LinkedList<>();
    LinkedList<Integer> colorList = new LinkedList<>();

    int disableColor = origin.getColorForState(DISABLED_STATE_SET, 0);
    if (disableColor != originDefaultColor) {
        hasDisable = true;/*w w  w.  j a va 2 s  .  c  o  m*/
        stateList.add(DISABLED_STATE_SET);
        colorList.add(disableColor);
    }

    int pressedColor = origin.getColorForState(wrapState(hasDisable, PRESSED_STATE_SET), 0);
    if (pressedColor != originDefaultColor) {
        stateList.add(PRESSED_STATE_SET);
        colorList.add(pressedColor);
    }

    int focusColor = origin.getColorForState(wrapState(hasDisable, FOCUSED_STATE_SET), 0);
    if (focusColor != originDefaultColor) {
        stateList.add(FOCUSED_STATE_SET);
        colorList.add(focusColor);
    }

    int checkedColor = origin.getColorForState(wrapState(hasDisable, CHECKED_STATE_SET), 0);
    if (checkedColor != originDefaultColor) {
        stateList.add(CHECKED_STATE_SET);
        colorList.add(checkedColor);
    }

    int selectedColor = origin.getColorForState(wrapState(hasDisable, SELECTED_STATE_SET), 0);
    if (selectedColor != originDefaultColor) {
        stateList.add(SELECTED_STATE_SET);
        colorList.add(selectedColor);
    }

    int normalColor = origin.getColorForState(wrapState(hasDisable, EMPTY_STATE_SET), 0);
    if (normalColor != 0) {
        stateList.add(EMPTY_STATE_SET);
        colorList.add(normalColor);
    }

    if (colorList.size() > 1) {
        return new com.bilibili.magicasakura.utils.TintInfo(stateList, colorList);
    } else {
        return null;
    }
}

From source file:com.bilibili.magicasakura.utils.ThemeUtils.java

public static int getDisabledThemeAttrColor(Context context, @AttrRes int attr) {
    final ColorStateList csl = getThemeAttrColorStateList(context, attr);
    if (csl != null && csl.isStateful()) {
        // If the CSL is stateful, we'll assume it has a disabled state and use it
        return csl.getColorForState(DISABLED_STATE_SET, csl.getDefaultColor());
    } else {//from w w w.  j  a va 2s.co m
        // Else, we'll generate the color using disabledAlpha from the theme

        final TypedValue tv = getTypedValue();
        // Now retrieve the disabledAlpha value from the theme
        context.getTheme().resolveAttribute(android.R.attr.disabledAlpha, tv, true);
        final float disabledAlpha = tv.getFloat();

        return getThemeAttrColor(context, attr, disabledAlpha);
    }
}