package com.appassit.views;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.TextView;
import com.appassit.R;
/**
* Created by etiennelawlor on 6/24/14.
*/
public class CustomFontTextView extends TextView {
public CustomFontTextView(Context context) {
super(context);
}
public CustomFontTextView(Context context, AttributeSet attrs) {
super(context, attrs);
if (!isInEditMode()) {
init(context, attrs);
}
}
public CustomFontTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
if (!isInEditMode()) {
init(context, attrs);
}
}
private void init(Context context, AttributeSet attrs) {
TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.CustomFontTextView, 0, 0);
try {
String fontName = getFontName(a.getInteger(R.styleable.CustomFontTextView_textFont, 0));
if (!fontName.equals("")) {
try {
setTypeface(Typeface.createFromAsset(context.getAssets(), "fonts/" + fontName));
} catch (Exception e) {
Log.e("CustomFontTextView", e.getMessage());
}
}
} finally {
a.recycle();
}
}
private String getFontName(int index) {
switch (index) {
case 0:
return "Roboto-Black.ttf";
case 1:
return "Roboto-BlackItalic.ttf";
case 2:
return "Roboto-Bold.ttf";
case 3:
return "Roboto-BoldCondensed.ttf";
case 4:
return "Roboto-BoldCondensedItalic.ttf";
case 5:
return "Roboto-BoldItalic.ttf";
case 6:
return "Roboto-Condensed.ttf";
case 7:
return "Roboto-CondensedItalic.ttf";
case 8:
return "Roboto-Italic.ttf";
case 9:
return "Roboto-Light.ttf";
case 10:
return "Roboto-LightItalic.ttf";
case 11:
return "Roboto-Medium.ttf";
case 12:
return "Roboto-MediumItalic.ttf";
case 13:
return "Roboto-Regular.ttf";
case 14:
return "Roboto-Thin.ttf";
case 15:
return "Roboto-ThinItalic.ttf";
case 16:
return "GothamNarrow-Light.ttf";
default:
return "";
}
}
}