2011-12-04 3 views
0

J'ai quelques textviews dans mon application et chacun d'eux semble adapter la police du texte de l'appareil. comment puis-je remplacer cela? Je voudrais que tous mes textviews à une police spécifique qui n'aura aucun rapport à ce le dispositif de police de estandroid textview adaptant la police de l'appareil

grâce

Répondre

1

Si par « une police spécifique », vous voulez dire celui que vous bundle avec votre application, utilisez setTypeface() sur le TextView pour l'associer à un objet que vous créez Typeface pointant vers votre police:

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

tv.setTypeface(face); 

File font=new File(Environment.getExternalStorageDirectory(), 
        "MgOpenCosmeticaBold.ttf"); 

if (font.exists()) { 
    tv=(TextView)findViewById(R.id.file); 
    face=Typeface.createFromFile(font); 

    tv.setTypeface(face); 
} 
else { 
    findViewById(R.id.filerow).setVisibility(View.GONE); 
} 

(de this sample project)

N'utilisez que des polices correctement sous licence et gardez à l'esprit que la police doit avoir suffisamment de glyphes pour couvrir toutes les langues que vous avez l'intention de prendre en charge.

+0

Merci Peut-être que je me trompe, mais ne devrais-je pas le faire pour CHAQUE textview dans mon application? N'y a-t-il pas un moyen de définir les polices de manière statique pour qu'elles fonctionnent dans toute l'application? – laylakn

+0

@laylakn: "ne devrais-je pas le faire pour CHAQUE textview dans mon application?" -- Oui. "n'existe-t-il pas un moyen de définir de façon statique les polices pour qu'elles fonctionnent dans toute l'application?" - Pas à partir d'un fichier de police que vous expédiez avec l'application. Vous pouvez utiliser des styles pour définir une police à utiliser sur l'ensemble du tableau, mais il doit s'agir de l'une des trois polices intégrées (sans, serif, mono). – CommonsWare

Questions connexes