2013-10-14 12 views
5

Quindi esistono diversi modi per impostare il carattere in Android. Quello che devo fare è impostare il carattere in combinazione con uno custom font e quindi su entire app.Carattere personalizzato utilizzato in tutta l'app

Ora dopo alcune ricerche ho 2 opzioni.

  • Override EditText e set di caratteri, utilizzare questa classe nel mio layout xml.
  • Aggiungi un carattere alla mia appTesta nel mio styles.xml.

Ora preferisco l'ultima opzione, questo è ovviamente nella mia posizione il modo migliore per andare da quando uso lo stesso font in tutta la mia app. Ora il problema è che nella mia cartella Assets/font/ ho aggiunto il carattere che voglio usare ma non posso usarlo nei miei stili.

<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="android:typeface"> Here? </item> 
</style> 

Come aggiungere il mio carattere come carattere tipografico. È possibile?

risposta

0

Prova di questo codice:

public class CustomTextView extends EditText { 

public CustomTextView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
    if (!isInEditMode()) 
     init(); 

} 

public CustomTextView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    if (!isInEditMode()) 
     init(); 

} 

public CustomTextView(Context context) { 
    super(context); 
    if (!isInEditMode()) 
     init(); 
} 

public void init() { 
    Typeface tf = Typeface.createFromAsset(getContext().getAssets(), Constants.FONTPATH); 
    setTypeface(tf); 

} 

    } 

quindi utilizzare in XMLwith;

 <pkgname.CustomTextView android:id="@+id/txt" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 
+0

Questa non è la mia domanda. Questa è stata la mia prima opzione. E in tal modo si sostituisce la textview e non l'edittext come menzionato. Ma oltre a questo, conosco questa opzione e nella mia posizione non è il modo più efficiente. È come un piano b. –

0

Per quanto ne so, non è possibile accedere a risorse esterne in file xml.

+0

Nel frattempo non ho trovato alcun modo per risolvere questo problema. Vado solo con una Textview personalizzata. Spero che ci sarà qualcosa per questo in futuro. Rende il codice molto più pulito. –

Problemi correlati