39 votes

Polices personnalisées dans Android

J'ai déjà lu des articles et cherché sur Google, mais je n'ai pas réussi à le faire.

Mon problème concerne la police de caractères.

Dans Android, il n'y a que 4 attributs dans "android:typeface" : Normal, Sans, Serif, Monospace.

Alors, que dois-je faire pour utiliser "Verdana" dans mon application?

S'il vous plaît, suggérez-moi une manière correcte d'utiliser cette police dans mon application Android.

77voto

Cristian Points 92147

Ceci est un exemple simple ... créez un dossier à la racine de votre projet appelé assets/fonts/ puis collez le fichier de police TTF (dans ce cas, Verdana.ttf). Ensuite, si vous souhaitez appliquer cette police à, par exemple, TextView , procédez comme suit:

 import android.graphics.Typeface;

public class FontSampler extends Activity {
  @Override
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);

    TextView tv=(TextView)findViewById(R.id.custom);
    Typeface face=Typeface.createFromAsset(getAssets(),
                                          "fonts/Verdana.ttf");

    tv.setTypeface(face);
  }
}
 

Cet exemple est tiré du livre ComonsWare (écrit par Mark Murphy). Vous pouvez télécharger l'exemple complet depuis GitHub .

4voto

guest2343sdfdfs Points 61

Vous pouvez utiliser PixlUI à l' adresse https://github.com/neopixl/PixlUI.

importer leur .jar et l'utiliser en XML

  <com.neopixl.pixlui.components.textview.TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world"
    pixlui:typeface="GearedSlab.ttf" />
 

2voto

browep Points 1832

Pour pouvoir le définir dans le fichier xml ou le fichier de styles, vous devez configurer un widget personnalisé. Ce n'est pas si difficile, code complet et exemple de travail ici avec XML est ici: http://helpmeco.de/2012/2/custom-fonts-in-android-widgets

0voto

Vinod Joshi Points 294
// My example show you how to change fonts into a normal textView or list view

create a fonts folder into your assets dir of android and copy your custom font in that ..
assets/fonts/monaco.ttf

// Font path
String fontPath = "fonts/monaco.ttf";

// Loading Font Face
Typeface tf = Typeface.createFromAsset(getAssets(), fontPath);

// CASE 1 : Inside your list view           
holder.name = (TextView) convertView
                .findViewById(R.id.textView_cityName);

// set name of text in each row 
holder.name.setText(CitiesNames.get(position));

// set the type of font you want to set
holder.name.setTypeface(tf);

// CASE 2 : Inside your text view

TextView tx = (TextView)findViewById(R.id.textview1);
tx.setTypeface(tf);

//vKj

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X