@@ -0,0 +1,2375 @@
+package org.buildmlearn.toolkit.views;%0A%0Aimport android.annotation.SuppressLint;%0Aimport android.content.Context;%0Aimport android.content.res.TypedArray;%0Aimport android.graphics.Typeface;%0Aimport android.graphics.drawable.Drawable;%0Aimport android.util.AttributeSet;%0Aimport android.widget.TextView;%0A%0Aimport org.buildmlearn.toolkit.R;%0A%0A%0Apublic class TextViewPlus extends TextView %7B%0A%0A    public TextViewPlus(Context context, AttributeSet attrs, int defStyle) %7B%0A        super(context, attrs, defStyle);%0A        setCustomFont(context, attrs);%0A    %7D%0A%0A    public TextViewPlus(Context context, AttributeSet attrs) %7B%0A        super(context, attrs);%0A        setCustomFont(context, attrs);%0A    %7D%0A%0A    public TextViewPlus(Context context) %7B%0A        super(context);%0A    %7D%0A%0A    private void setCustomFont(Context ctx, AttributeSet attrs) %7B%0A        TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.TextViewPlus);%0A        String customFont = a.getString(R.styleable.TextViewPlus_customFont);%0A        setCustomFont(ctx, customFont);%0A        a.recycle();%0A    %7D%0A%0A    public void setCustomFont(Context ctx, String asset) %7B%0A        Typeface tf;%0A        try %7B%0A            tf = Typeface.createFromAsset(ctx.getAssets(), asset);%0A        %7D catch (Exception e) %7B%0A//            Log.e(%22TextViewPlus Error%22, %22Could not get typeface: %22+e.getMessage());%0A            return;%0A        %7D%0A%0A        setTypeface(tf);%0A    %7D%0A%0A    @Override%0A    public void setBackgroundResource(int resid) %7B%0A        int pl = getPaddingLeft();%0A        int pt = getPaddingTop();%0A        int pr = getPaddingRight();%0A        int pb = getPaddingBottom();%0A%0A        super.setBackgroundResource(resid);%0A%0A        this.setPadding(pl, pt, pr, pb);%0A    %7D%0A%0A    @SuppressLint(%22NewApi%22)%0A    @Override%0A    public void setBackground(Drawable background) %7B%0A%0A        int pl = getPaddingLeft();%0A        int pt = getPaddingTop();%0A        int pr = getPaddingRight();%0A        int pb = getPaddingBottom();%0A        super.setBackground(background);%0A        this.setPadding(pl, pt, pr, pb);%0A    %7D%0A%0A    @SuppressWarnings(%22deprecation%22)%0A    @Override%0A    public void setBackgroundDrawable(Drawable background) %7B%0A%0A        int pl = getPaddingLeft();%0A        int pt = getPaddingTop();%0A        int pr = getPaddingRight();%0A        int pb = getPaddingBottom();%0A        super.setBackgroundDrawable(background);%0A        this.setPadding(pl, pt, pr, pb);%0A    %7D%0A%0A%7D%0A

Create TextViewPlus.java