Come utilizzare il carattere personalizzato in android xml?

Come posso utilizzare un carattere personalizzato che è stato aggiunto nella cartella degli asset nel mio xml? So che possiamo usare il metodo setTypeface() in java, ma dobbiamo farlo ovunque where utilizziamo TextView . Così c'è un modo migliore?

  • Come registrare lo schermo del dispositivo Android in versione Android inferiore a 4.4 (KitKat)
  • Mostra hide la tastiera non funziona proprio nel phonegap di android
  • Posso utilizzare componenti polimeri / web in un'applicazione Android nativa con Cordova?
  • Riempire la canvas completa ma mantenere l'area di riempimento del limite come è cerchio, rettangolo
  • Come salvare l'image dalla risorsa disegnabile a una scheda SD?
  • Impostare l'agente utente con WebView con il nativo di risposta
  • Come convertire tutti i contenuti in una window di scorrimento in una bitmap?
  • Impostazione di test di integrazione nel progetto Android-Gradle
  • Come utilizzare SpannableString con Regex in android?
  • Aggiunta di programmazione di Views all'interno di un layout (lineare) (che si trova all'interno di uno ScrollView)
  • Qual è la differenza tra android: altezza e android: layout_height?
  • Rimuovere tutte le chiamate di logging di debug prima di pubblicare: ci sono strumenti per farlo?
  • 2 Solutions collect form web for “Come utilizzare il carattere personalizzato in android xml?”

    Il modo migliore che ho trovato da googling è- Dire se si desidera utilizzare in TextView allora dobbiamo estendere la Textview e dobbiamo impostare il carattere in quello più tardi possiamo usare la nostra Textview personalizzata nel nostro xml. Mostrerò il TextView esteso qui sotto

     package com.vins.test; import android.content.Context; import android.graphics.Typeface; import android.util.AttributeSet; import android.widget.TextView; public class MyTextView extends TextView { public MyTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(); } public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); init(); } public MyTextView(Context context) { super(context); init(); } private void init() { Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "your_font.ttf"); setTypeface(tf); } } 

    Chiamiamo init () per impostare il carattere in ciascuno dei costruttori. Successivamente dobbiamo utilizzare questo nel nostro main.xml come mostrato di seguito.

     <com.vins.test.MyTextView android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:layout_weight="1" android:text="This is a text view with the font u had set in MyTextView class " android:textSize="30dip" android:textColor="#ff0000" > 

    Aggiornare:

    Sii consapevole della perdita di memory in Android pre-4.0 come indicato da pandre.

    Inserisci il tuo file di carattere in asset\fonts\fontname

    Definire tre visualizzazioni di text nel file xml quindi, inserire questo codice nella class attività:

     public class AndroidExternalFontsActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Font path String fontPath = "fonts/DS-DIGIT.TTF"; String fontPath1 = "fonts/Face Your Fears.ttf"; String fontPath2 = "fonts/HelveticaNeue-Bold_0.otf"; // text view label TextView txtGhost = (TextView) findViewById(R.id.ghost); TextView txtGhost1 = (TextView) findViewById(R.id.ghost1); TextView txtGhost2 = (TextView) findViewById(R.id.ghost2); // Loading Font Face Typeface tf = Typeface.createFromAsset(getAssets(), fontPath); Typeface tf1 = Typeface.createFromAsset(getAssets(), fontPath1); Typeface tf2 = Typeface.createFromAsset(getAssets(), fontPath2); // Applying font txtGhost.setTypeface(tf); txtGhost1.setTypeface(tf1); txtGhost2.setTypeface(tf2); } } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.