Come utilizzare il carattere personalizzato nel file String.xml

Ho usato il seguente codice nel file String.xml. Ora la mia domanda è qui ho usato la faccia del carattere come Aerial.So c'è qualche modo in cui posso utilizzare il mio carattere personalizzato invece di utilizzare l'antenna qui .. Support il mio carattere personalizzato è aa. ttf … quindi come posso usare qui. Il mio codice è

<string name="strt_dialog_desc">To start monitoring press and hold the date on which the latest cycle started.<![CDATA[<font face=Aerial>]]>Click OptionMenu for help!<![CDATA[</font>]]></string> 

  • Qual è il modo più semplice per get un tracciato di crash stack da Android?
  • il suono dell'otturatore della macchina fotografica di muto android?
  • Android WifiP2p - Notifica quando un dispositivo scoperto non è disponibile
  • Distriggerszione temporanea / dynamic di una pagina singola in Viewpager
  • Sostituire un frammento in modo programmato
  • Android loopj Async Http si blocca dopo l'aggiornamento 1.4.5
  • 4 Solutions collect form web for “Come utilizzare il carattere personalizzato nel file String.xml”

    // posiziona il font nella cartella degli asset

     TextView tv=(TextView)findViewById(R.id.custom); Typeface face=Typeface.createFromAsset(getAssets(),"fonts/aerial.ttf"); tv.setTypeface(face); tv.setText(R.string.strt_dialog_desc); 

    // utilizzare SpannableString in modo dinamico per modificare il font

     Typeface tfaerial=Typeface.createFromAsset(getAssets(),"fonts/aerial.ttf"); Typeface tfTradeGothicLight=Typeface.createFromAsset(getAssets(), "fonts/TradeGothic-Light.OTF"); String strt_dialog_desc=this.getResources().getString(R.string.strt_dialog_desc); int upto=strt_dialog_desc.indexOf("."); if (strt_dialog_desc!=null) { aboutAuthTV.setTextColor(Color.BLACK); aboutAuthTV.setLineSpacing(1.2f, 1.5f); aboutAuthTV.setTextSize(23); SpannableString SS = new SpannableString(strt_dialog_desc); SS. setSpan ( new StyleSpan(tfTradeGothicLight.getStyle()), 0, upto,Spanned.SPAN_EXCLUSIVE_INCLUSIVE); SS. setSpan ( new StyleSpan(tfaerial.getStyle()), upto, strt_dialog_desc.length(),Spanned.SPAN_EXCLUSIVE_INCLUSIVE); yourtextView.setText(SS); } 

    // per cambiare il colore in questo modo cambiare il font non funziona

     String str="<font size =\"20\"><B>Bold</B> <br/> Then Normal Text<br/> <i>Then Italic</i> </font>" + "<br/> <font color=\"green\" >this is simple sentence </font>" + "<br/> <font face=\"verdana\" >this is simple sentence </font>"+ "<br/><br/><br/><br/><a>this is simple sentence</a>"; Spanned strHtml= Html.fromHtml(str); TextView tv = (TextView)findViewById(R.id.textView); tv.setText(strHtml); 

    Penso che tu possa fare lo stesso usando questo codice cambierà il carattere al runtime.

    MyApp.java

     public class MyApp extends Application { @Override public void onCreate() { TypefaceUtil.overrideFont(getApplicationContext(), "SERIF", "fonts/Roboto-Regular.ttf"); // font from assets: "assets/fonts/Roboto-Regular.ttf } } 

    TypefaceUtil.java

     import android.content.Context; import android.graphics.Typeface; import android.util.Log; import java.lang.reflect.Field; public class TypefaceUtil { /** * Using reflection to override default typeface * NOTICE: DO NOT FORGET TO SET TYPEFACE FOR APP THEME AS DEFAULT TYPEFACE WHICH WILL BE OVERRIDDEN * @param context to work with assets * @param defaultFontNameToOverride for example "monospace" * @param customFontFileNameInAssets file name of the font from assets */ public static void overrideFont(Context context, String defaultFontNameToOverride, String customFontFileNameInAssets) { try { final Typeface customFontTypeface = Typeface.createFromAsset(context.getAssets(), customFontFileNameInAssets); final Field defaultFontTypefaceField = Typeface.class.getDeclaredField(defaultFontNameToOverride); defaultFontTypefaceField.setAccessible(true); defaultFontTypefaceField.set(null, customFontTypeface); } catch (Exception e) { Log.e("Can not set custom font " + customFontFileNameInAssets + " instead of " + defaultFontNameToOverride); } } } 

    themes.xml

     <?xml version="1.0" encoding="utf-8"?> <resources> <style name="MyAppTheme" parent="@android:style/Theme.Holo.Light"> <!-- you should set typeface which you want to override with TypefaceUtil --> <item name="android:typeface">serif</item> </style> </resources> 

    È ansible impostare il font per il seguente attributo

     android:typeFace= 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.