рдлреЛрдВрдЯ рдХреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдЬреЛрдбрд╝рдирд╛

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!

рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣рд░ рд╡реНрдпрдХреНрддрд┐ рдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдХреИрд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝реЙрдиреНрдЯ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред рддреЛ рдореИрдВрдиреЗ рдпрд╣ рд╕рд╡рд╛рд▓ рдкреВрдЫрд╛ред рдЗрд╕рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред

рд╡рд╛рдЯрд░реНрд╕ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ:
String custom_font = "fonts/custom_font.ttf"; Typeface CF = Typeface.createFromAsset(getAssets(), custom_font); ((TextView) findViewById(R.id.sometextview)).setTypeface(CF); 


рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ TextView рддрддреНрд╡ рд╣реИрдВ рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдерд╛, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝реЙрдиреНрдЯ рдХрдиреЗрдХреНрд╢рди рд▓рд┐рдЦреЗрдВ - рдЖрдкрдХреЛ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдорд┐рд▓рддрд╛ рд╣реИред рдпрд╣ рдореБрдЭреЗ рд╢реЛрднрд╛ рдирд╣реАрдВ рджреЗрддрд╛ рдФрд░ рдореИрдВрдиреЗ рдФрд░ рдЦреЛрдЬ рд╢реБрд░реВ рдХрд░ рджреАред рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдорд┐рд▓рд╛ рдЬрд┐рд╕реЗ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

TextViewPlus рд╡рд░реНрдЧ рдмрдирд╛рдПрдБ:

TextViewPlus.java
 package com.example; 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; public class TextViewPlus extends TextView { private static final String TAG = "TextView"; public TextViewPlus(Context context) { super(context); } public TextViewPlus(Context context, AttributeSet attrs) { super(context, attrs); setCustomFont(context, attrs); } public TextViewPlus(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setCustomFont(context, attrs); } private void setCustomFont(Context ctx, AttributeSet attrs) { TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.TextViewPlus); String customFont = a.getString(R.styleable.TextViewPlus_customFont); setCustomFont(ctx, customFont); a.recycle(); } public boolean setCustomFont(Context ctx, String asset) { Typeface tf = null; try { tf = Typeface.createFromAsset(ctx.getAssets(), asset); } catch (Exception e) { Log.e(TAG, "Could not get typeface: "+e.getMessage()); return false; } setTypeface(tf); return true; } } 


рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдлрд╝рд╛рдЗрд▓:
attrs.xml (рд░реЗрд╕ / рдорд╛рди)
 <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="TextViewPlus"> <attr name="customFont" format="string"/> </declare-styleable> </resources> 


рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ main.xml
 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:foo="http://schemas.android.com/apk/res/com.example" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <com.example.TextViewPlus android:id="@+id/textViewPlus1" android:layout_height="match_parent" android:layout_width="match_parent" android:text="@string/showingOffTheNewTypeface" foo:customFont="saxmono.ttf"> </com.example.TextViewPlus> </LinearLayout> 


рдлрд╝реЙрдиреНрдЯ рдлрд╝рд╛рдЗрд▓ "saxmono.ttf" рдХреЛ "рд╕рдВрдкрддреНрддрд┐" рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рд╡рд╣ рд╕рдм рд╣реИ :)

рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ:

Source: https://habr.com/ru/post/In184116/


All Articles