/**
* 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;
}
CalligraphyUtils.java 文件源码
java
阅读 27
收藏 0
点赞 0
评论 0
项目:DownloadableCalligraphy
作者:
评论列表
文章目录