CustomFontTextView.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package com.chinaappsremover.utils.uihelper;
  2. import android.content.Context;
  3. import android.content.res.TypedArray;
  4. import android.graphics.Typeface;
  5. import android.util.AttributeSet;
  6. import android.util.Log;
  7. import androidx.appcompat.widget.AppCompatTextView;
  8. import com.chinaappsremover.R;
  9. public class CustomFontTextView extends AppCompatTextView {
  10. public CustomFontTextView(Context context, AttributeSet attributeSet) {
  11. super(context, attributeSet);
  12. applyCustomFont(context, attributeSet);
  13. }
  14. public CustomFontTextView(Context context, AttributeSet attributeSet, int i) {
  15. super(context, attributeSet, i);
  16. applyCustomFont(context, attributeSet);
  17. }
  18. private void applyCustomFont(Context context, AttributeSet attributeSet) {
  19. if (attributeSet != null) {
  20. TypedArray a = getContext().obtainStyledAttributes(attributeSet, R.styleable.CustomFontTextView);
  21. String fontName = a.getString(R.styleable.CustomFontTextView_custom_font);
  22. if (fontName != null) {
  23. try {
  24. Typeface myTypeface = Typeface.createFromAsset(getContext().getAssets(), "font/" + fontName + ".ttf");
  25. setTypeface(myTypeface);
  26. } catch (Exception e) {
  27. Log.e("failed", e.getMessage());
  28. }
  29. }
  30. a.recycle();
  31. }
  32. }
  33. }