Définition de la police Roboto dans TextView - xml
J'ai trouvé plusieurs posts à ce sujet, mais tous ces sujets définit la police de caractères avec setTypeFace()
méthode sur un TextView
objet, ou de créer une classe personnalisée qui définit la police de Roboto
et extends
TextView
. Autant que je sache, à partir de l'API de Niveau 11(?) ou quelque chose, nous sommes en mesure de définir la Police de caractères comme un attribut xml, certains comment. Comme ceci:
<TextView
android:id="@+id/profileHeader"
android:layout_width="100dp"
android:layout_height="100dp"
android:typeface="roboto"
android:text="Hello, world">
</TextView>
Quelle est la bonne façon de le faire? Est-il possible d'avoir une solution de repli si l'application s'exécute sur un périphérique inférieur de l'API de niveau 11(?) quelque chose comme:
android:typeface="roboto|monospace|serif"
source d'informationauteur Tobias Moe Thorstensen
Vous devez vous connecter pour publier un commentaire.
Prendre un coup d'oeil à la RobotoTextView projet. Fonctionne jusqu'à Android 1.5, et vous pouvez définir la police de caractères à l'aide des attributs XML. Il comprend également d'autres points de vue comme RobotoButton, RobotoCheckbox, etc.
Je ne vois pas une façon vous pouvez définir un externe police comme un attribut xml. Vous devez conserver le caractère de l'actif et l'appel:
Vous ne pouvez pas définir la police directement à partir des actifs, comme ce que vous avez à faire que de suivre dans onCreate. Cela va faire la meme chose que ce que vous voulez faire.
Espère que ça va vous aider.:D
La
android:typeface
attribut a seulement quelques options valides (selon le Android docs)...Si vous avez besoin de la police Roboto dans votre application pour les appareils plus anciens, vous devrez inclure le Roboto des fichiers TTF dans votre projet.
Le moyen le plus évident d'utiliser ces polices est d'utiliser le
setTypeface()
méthode de TextView, mais si vous voulez spécifier en XML au lieu de cela, vous devez créer un TextView et de créer votre propre styleable attribut personnalisé TextView.Cette rubrique est partout sur Internet.
Pour JellyBean (4.1) en avant, vous pouvez utiliser la méthode fournie dans cette StackOverflow sujet. Il va de secours gracieusement sans dans des dispositifs plus anciens.
Si vous devez de secours de type monospace ou serif, déclarer un dossier de mise en page-v16 où vous utilisez la même police que vous avez choisi, c'est à dire, "sans-serif "condensé", et dans le dossier par défaut, vous utilisez le "monospace" ou "serif" de la police.
Si vous voulez secours à un non-police par défaut, vous pouvez en programmant vérifier la version d'android et de choisir l'action appropriée, c'est à dire:
C'est pour le futur, les personnes en cours d'exécution pour la même question que j'ai. Réglage de la police de caractère a tendance à prendre beaucoup de mémoire quand il s'agit de chargement de plusieurs lignes. À l'aide de deux codes d'ensemble pour le faire travailler en douceur. J'ai eu la solution à partir de stackoverflow mais ils les réponses n'ont pas été répertoriés ensemble.