Java Code Examples for android.support.annotation.FontRes

The following are top voted examples for showing how to use android.support.annotation.FontRes. These examples are extracted from open source projects. You can vote up the examples you like and your votes will be used in our system to generate more good examples.
Example 1
Project: DownloadableCalligraphy   File: CalligraphyUtils.java   View source code 6 votes vote down vote up
/**
 * Tries to pull the Custom Attribute directly from the TextView.
 *
 * @param context     Activity Context
 * @param attrs       View Attributes
 * @param attributeId if -1 returns null.
 * @return null if attribute is not defined or added to View
 */
@FontRes
static int pullFontPathFromView(Context context, AttributeSet attrs, int[] attributeId) {
    if (attributeId == null || attrs == null)
        return 0;

    final String attributeName;
    try {
        attributeName = context.getResources().getResourceEntryName(attributeId[0]);
    } catch (Resources.NotFoundException e) {
        // invalid attribute ID
        return 0;
    }

    final int stringResourceId = attrs.getAttributeResourceValue(null, attributeName, -1);
    return stringResourceId > 0
            ? stringResourceId
            : attrs.getAttributeIntValue(null, attributeName, 0);
}
 
Example 2
Project: DownloadableCalligraphy   File: CalligraphyUtils.java   View source code 6 votes vote down vote up
/**
 * Tries to pull the Font Path from the View Style as this is the next decendent after being
 * defined in the View's xml.
 *
 * @param context     Activity Activity Context
 * @param attrs       View Attributes
 * @param attributeId if -1 returns null.
 * @return null if attribute is not defined or found in the Style
 */
@FontRes
static int pullFontPathFromStyle(Context context, AttributeSet attrs, int[] attributeId) {
    if (attributeId == null || attrs == null)
        return 0;
    final TypedArray typedArray = context.obtainStyledAttributes(attrs, attributeId);
    if (typedArray != null) {
        try {
            // First defined attribute
            int fontFromAttribute = typedArray.getResourceId(0, 0);
            if (fontFromAttribute != 0) {
                return fontFromAttribute;
            }
        } catch (Exception ignore) {
            // Failed for some reason.
        } finally {
            typedArray.recycle();
        }
    }
    return 0;
}
 
Example 3
Project: DownloadableCalligraphy   File: CalligraphyUtils.java   View source code 6 votes vote down vote up
/**
 * Tries to pull the Font Path from the Text Appearance.
 *
 * @param context     Activity Context
 * @param attrs       View Attributes
 * @param attributeId if -1 returns null.
 * @return returns null if attribute is not defined or if no TextAppearance is found.
 */
@FontRes
static int pullFontPathFromTextAppearance(final Context context, AttributeSet attrs, int[] attributeId) {
    if (attributeId == null || attrs == null)
        return 0;
    int textAppearanceId = -1;
    // For prevent using default component font
    final ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(context, android.R.style.Theme_NoDisplay);
    final TypedArray typedArrayAttr = contextThemeWrapper.obtainStyledAttributes(attrs, ANDROID_ATTR_TEXT_APPEARANCE);
    if (typedArrayAttr != null) {
        try {
            textAppearanceId = typedArrayAttr.getResourceId(0, 0);
        } catch (Exception ignored) {
            // Failed for some reason
            return 0;
        } finally {
            typedArrayAttr.recycle();
        }
    }

    final Integer textAppearanceAttrs = getFontFromTextAppearance(context, attributeId, textAppearanceId);
    if (textAppearanceAttrs != null) return textAppearanceAttrs;
    return 0;
}
 
Example 4
Project: DownloadableCalligraphy   File: CalligraphyUtils.java   View source code 6 votes vote down vote up
/**
 * Last but not least, try to pull the Font Path from the Theme, which is defined.
 *
 * @param context     Activity Context
 * @param styleAttrId Theme style id
 * @param attributeId if -1 returns null.
 * @return null if no theme or attribute defined.
 */
@FontRes
static int pullFontPathFromTheme(Context context, int styleAttrId, int[] attributeId) {
    if (styleAttrId == -1 || attributeId == null)
        return 0;

    final Resources.Theme theme = context.getTheme();
    final TypedValue value = new TypedValue();

    theme.resolveAttribute(styleAttrId, value, true);
    final TypedArray typedArray = theme.obtainStyledAttributes(value.resourceId, attributeId);
    try {
        return typedArray.getResourceId(0, 0);
    } catch (Exception ignore) {
        // Failed for some reason.
        return 0;
    } finally {
        typedArray.recycle();
    }
}
 
Example 5
Project: DownloadableCalligraphy   File: CalligraphyFactory.java   View source code 5 votes vote down vote up
private Typeface getDefaultTypeface(Context context, @FontRes int fontFamily) {
    if (fontFamily == 0) {
        fontFamily = CalligraphyConfig.get().getFontFamily();
    }
    if (fontFamily != 0) {
        return ResourcesCompat.getFont(context, fontFamily);
    }
    return null;
}
 
Example 6
Project: anotherViewPager   File: TabbedViewPager.java   View source code 5 votes vote down vote up
private void setTabFont(int textViewId, @FontRes int font, int position) {
    if (font == 0)
        return;

    Typeface typeface = ResourcesCompat.getFont(getContext(), font);
    setTabFont(textViewId, typeface, position);
}
 
Example 7
Project: DownloadableCalligraphy   File: CalligraphyConfig.java   View source code 4 votes vote down vote up
/**
 * @return mFontFamily for text views might be null
 */
@FontRes
public int getFontFamily() {
    return mFontFamily;
}
 
Example 8
Project: anotherViewPager   File: TabbedViewPager.java   View source code 4 votes vote down vote up
public TabbedViewPager setSelectedTabFont(@FontRes int font) {
    selectedTabFont = font;
    return this;
}
 
Example 9
Project: Downloadable-Fonts   File: CustomDownloadableFontProvider.java   View source code 4 votes vote down vote up
public CustomDownloadableFontProvider(@FontRes int resourceFont) {
    this.resourceFont = resourceFont;
}
 
Example 10
Project: plaid   File: BaselineGridTextView.java   View source code 4 votes vote down vote up
public @FontRes int getFontResId() {
    return fontResId;
}
 
Example 11
Project: DownloadableCalligraphy   File: CalligraphyConfig.java   View source code 2 votes vote down vote up
/**
 * Set the default font if you don't define one else where in your styles.
 *
 * @param defaultFont a path to a font file in the assets folder, e.g. "fonts/Roboto-light.ttf",
 *                             passing null will default to the device font-family.
 * @return this builder.
 */
public Builder setDefaultFont(@FontRes int defaultFont) {
    this.isFontSet = defaultFont != 0;
    this.fontFamily = defaultFont;
    return this;
}
 
Example 12
Project: plaid   File: ReflowText.java   View source code votes vote down vote up
@FontRes int getFontResId();