Android-en utilisant la police personnalisée

J'ai appliqué la police utilisateur à
TextView

, Mais il semble ne pas changer la police.

Voici mon code:


Typeface myTypeface = Typeface.createFromAsset/getAssets//, "fonts/myFont.ttf"/;
TextView myTextView = /TextView/findViewById/R.id.myTextView/;
myTextView.setTypeface/myTypeface/;


Quelqu'un peut-il s'il vous plaît sortir de ce problème?
Invité:

Hannah

Confirmation de:

Sur Mobiletuts+ Il y a un très bon manuel pour le formatage de texte pour Android.
http://code.tutsplus.com/tutor ... 1601/
Android

EDIT: Maintenant je l'ai vérifié moi-même. Voici une solution. Vous pouvez utiliser le sous-dossier fonts, Mais il devrait être dans le dossier
assets

, pas dans le dossier
res

. Alors

actifs / Polices

Assurez-vous également que la fin de la police, je veux dire la fin du fichier de police lui-même, toutes les lettres minuscules. En d'autres termes, il ne devrait pas être
myFont.TTF

, mais
myfont.ttf


Ce chemin doit être en minuscule

Blanche

Confirmation de:

Après avoir essayé la plupart des solutions décrites dans ce sujet, j'ai accidentellement trouvé la calligraphie /
https://github.com/chrisjenx/Calligraphy
/ - Christopher Bibliothèque Jenkins, Ce qui facilite l'ajout de polices personnalisées à votre application. Les avantages de celui-ci lib Par rapport aux approches proposées ici, sont les suivantes:

Vous n'avez pas besoin d'entrer votre propre composant redéfini. TextView, Vous utilisez le composant intégré TextView

Vous pouvez facilement activer la bibliothèque en utilisant gradle

La bibliothèque ne limite pas votre sélection de polices; Vous ajoutez simplement vos polices préférées au catalogue. assets

Vous n'obtenez pas seulement des vues de texte personnalisées — Tous les autres composants de texte Android Soyez également affiché à l'aide de votre police personnalisée.

Blanche

Confirmation de:

Je sais qu'il y a déjà de bonnes réponses, mais voici une mise en œuvre pleinement en activité.

Voici un formulaire de texte personnalisé:


package com.mycompany.myapp.widget;

/**
* Text view with a custom font.
* <p></p>
* In the XML, use something like {@code customAttrs:customFont="roboto-thin"}. The list of fonts
* that are currently supported are defined in the enum {@link CustomFont}. Remember to also add
* {@code xmlns:customAttrs="[url=http://schemas.android.com/apk/res-auto"]http://schemas.android.com/apk/res-auto"[/url]} in the header.
*/
public class CustomFontTextView extends TextView {

private static final String sScheme =
"[url=http://schemas.android.com/apk/res-auto";]http://schemas.android.com/apk/res-auto";[/url]
private static final String sAttribute = "customFont";

static enum CustomFont {
ROBOTO_THIN/"fonts/Roboto-Thin.ttf"/,
ROBOTO_LIGHT/"fonts/Roboto-Light.ttf"/;

private final String fileName;

CustomFont/String fileName/ {
this.fileName = fileName;
}

static CustomFont fromString/String fontName/ {
return CustomFont.valueOf/fontName.toUpperCase/Locale.US//;
}

public Typeface asTypeface/Context context/ {
return Typeface.createFromAsset/context.getAssets//, fileName/;
}
}

public CustomFontTextView/Context context, AttributeSet attrs/ {
super/context, attrs/;

if /isInEditMode/// {
return;
} else {
final String fontName = attrs.getAttributeValue/sScheme, sAttribute/;

if /fontName == null/ {
throw new IllegalArgumentException/"You must provide \"" + sAttribute + "\" for your text view"/;
} else {
final Typeface customTypeface = CustomFont.fromString/fontName/.asTypeface/context/;
setTypeface/customTypeface/;
}
}
}
}


Voici des attributs personnalisés. Cela devrait aller dans votre dossier.
res/attrs.xml

:


xml version="1.0" encoding="utf-8"?
<resources>
<declare-styleable name="CustomFontTextView">
<attr format="string" name="customFont"></attr>
</declare-styleable>
</resources>


Et c'est comme ça que vous l'utilisez. Je vais utiliser la disposition relative pour l'envelopper et montrer l'annonce
customAttr

, Mais cela, évidemment, peut être n'importe quelle mise en page que vous avez déjà.


<relativelayout android:layout_height="match_parent" android:layout_width="match_parent" xmlns:android="[url=http://schemas.android.com/apk/res/android"]http://schemas.android.com/apk/res/android"[/url] xmlns:customattrs="[url=http://schemas.android.com/apk/res-auto"]http://schemas.android.com/apk/res-auto"[/url] xmlns:tools="[url=http://schemas.android.com/tools">]http://schemas.android.com/tools">[/url]
<com.mycompany.myapp.widget.customfonttextview android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="foobar" customattrs:customfont="roboto_thin"></com.mycompany.myapp.widget.customfonttextview>
</relativelayout>

Giselle

Confirmation de:

Je l'ai utilisé avec succès auparavant. La seule différence entre nos implémentations est que je n'ai pas utilisé le sous-dossier dans assets. Bien que cela ne soit pas sûr que cela change quelque chose.

Hannah

Confirmation de:

À condition que vous ayez placé la police au bon endroit et que vous n'avez aucune erreur dans le fichier de police lui-même, votre code devrait fonctionner comme celui-ci. RATTLESNAKE.

Cependant, ce serait beaucoup plus facile si vous pouviez simplement déterminer la police dans votre mise en page. xml, Par exemple, donc:


<linearlayout android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" tools:context=".MainActivity" xmlns:android="[url=http://schemas.android.com/apk/res/android"]http://schemas.android.com/apk/res/android"[/url] xmlns:app="[url=http://schemas.android.com/apk/res-auto"]http://schemas.android.com/apk/res-auto"[/url] xmlns:tools="[url=http://schemas.android.com/tools">]http://schemas.android.com/tools">[/url]
<!-- This text view is styled with the app theme -->
<com.innovattic.font.fonttextview android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="This uses my font in bold italic style"></com.innovattic.font.fonttextview>
<!-- This text view is styled here and overrides the app theme -->
<com.innovattic.font.fonttextview android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="This uses another font in normal style" android:textstyle="normal" app:flfont="anotherFont"></com.innovattic.font.fonttextview>
<!-- This text view is styled with a style and overrides the app theme -->
<com.innovattic.font.fonttextview android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="This also uses another font in normal style" style="@style/StylishFont"></com.innovattic.font.fonttextview>
</linearlayout>


Avec accompagnement
res/values/styles.xml

:


xml version="1.0" encoding="utf-8"?
<resources xmlns:android="[url=http://schemas.android.com/apk/res/android"]http://schemas.android.com/apk/res/android"[/url] xmlns:tools="[url=http://schemas.android.com/tools">]http://schemas.android.com/tools">[/url]
<!-- Application theme -->
<!-- Use a different parent if you don't want Holo Light -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:textViewStyle">@style/MyTextViewStyle</item>
</style>
<!-- Style to use for ALL text views /including FontTextView/ -->
<!-- Use a different parent if you don't want Holo Light -->
<style name="MyTextViewStyle" parent="@android:style/Widget.Holo.Light.TextView">
<item name="android:textAppearance">@style/MyTextAppearance</item>
</style>
<!-- Text appearance to use for ALL text views /including FontTextView/ -->
<!-- Use a different parent if you don't want Holo Light -->
<style name="MyTextAppearance" parent="@android:style/TextAppearance.Holo">
<!-- Alternatively, reference this font with the name "aspergit" -->
<!-- Note that only our own TextView's will use the font attribute -->
<item name="flFont">someFont</item>
<item name="android:textStyle">bold|italic</item>
</style>
<!-- Alternative style, maybe for some other widget -->
<style name="StylishFont">
<item name="flFont">anotherFont</item>
<item name="android:textStyle">normal</item>
</style>
</resources>


J'ai créé quelques outils spécifiquement à cette fin. Parler à
https://github.com/Innovattic/ ... ation
de GitHub Ou jeter un coup d'oeil à cela
http://blog.innovattic.com/int ... roid/
cela explique tout cela.

Dominique

Confirmation de:

La meilleure façon de le faire à la libération Android À propos de la visualisation de cette façon:

Ça ne fonctionne que si vous avez android studio-2.4 ou plus

Clic-droit

dossier res

Et allez à

Nouveau répertoire de ressources > Android

. Nouveau

La fenêtre du catalogue de ressources apparaîtra.

Dans la liste des types de ressources, sélectionnez

Police de caractère

et cliquez sur OK.

Ajoutez des fichiers de polices au dossier de polices.

La structure de dossiers ci-dessous crée
R.font.dancing_script

,
R.font.la_la

, et
R.font.ba_ba

.

Double-cliquez

Fichier de police pour afficher les polices de fichier de l'éditeur.

Ensuite, nous devons créer une famille de polices:

Cliquez avec le bouton droit sur le dossier de la police et sélectionnez

Créer > Fichier de ressource de police

. Une nouvelle fenêtre de fichier de ressources s'ouvre.

Entrer

Nom de fichier et cliquez sur OK

. Une nouvelle ressource de police s'ouvre dans l'éditeur. XML.

Insérez chaque fichier de police, attribut de style et poids dans l'élément de la balise de police. Suivant XML illustre l'ajout d'attributs associés à la police à la ressource de police XML:


Ajout de polices B. TextView:


<textview android:fontfamily="@font/hey_fontfamily" android:layout_height="wrap_content" android:layout_width="wrap_content"></textview>


Comme suit de la documentation

https://developer.android.com/ ... .html
Toutes les étapes sont vraies.

Catherine

Confirmation de:

Pour les polices d'utilisateur dans android Créez un dossier dans le dossier assets Folder name it "fonts" Placez le fichier nécessaire. fonts.ttf ou .otf.

Si vous étendez UIBaseFragment:


Typeface font = Typeface.createFromAsset/getActivity//.getAssets//, "fonts/Arial.ttf"/;
tv.setTypeface/font/;


Même si l'activité est en expansion:


Typeface font = Typeface.createFromAsset/getContext//.getAssets//, "fonts/Arial.ttf"/;
tv.setTypeface/font/;

Giselle

Confirmation de:

vous pouvez utiliser PixlUI dans
https://github.com/neopixl/PixlUI
Importez-les .jar et utilisez-le dans XML


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

Dominique

Confirmation de:

Malheureusement, il n'y a pas de bonne solution pour cela.

J'ai vu de nombreux articles sur l'utilisation de la coutume TextView, Mais ils oublient que ce ne sont pas seulement des présentations de texte pouvant implémenter des polices. & Il existe des représentations de texte cachées dans d'autres idées inaccessibles au développeur; Je ne vais même pas commencer à travailler avec

Spannable

.

Vous pouvez utiliser l'utilitaire de police externe, par exemple:

http://github.com/chrisjenx/Calligraphy
Mais

Il est amarré sur chaque vue dans l'application lorsqu'elle est créée, et même cet utilitaire manque des points de vue. /ViewPager Rendu police ordinaire/, Alors vous avez un problème qui est que quand Google Met à jour vos outils d'assemblage, cela conduit parfois à une défaillance, car il doit être destiné aux propriétés obsolètes. Il est également légèrement lent, comme il utilise

réflexion

Java .

Cela dépend vraiment de Google, Réparer. Nous avons besoin du meilleur soutien des polices de Android. Si vous regardez la décision de iOS, alors ils ont littéralement 100 polices intégrées à choisir. Vous voulez votre propre police? Juste quitter TFF, Et il convient à l'utilisation ..

Pour le moment, nous étions limités à une proposition qui nous offre Google, Ce qui est extrêmement limité, mais heureusement optimisé pour les appareils mobiles.

Catherine

Confirmation de:

Depuis que je n'étais pas satisfait de toutes les décisions présentées sur SO, Je suis venu avec moi-même. Il est basé sur une petite astuce avec des étiquettes. /C'est-à-dire que vous ne pouvez pas utiliser des balises dans votre code/, Je mets un chemin de police là-bas. Par conséquent, lorsque vous définissez des vues, vous pouvez procéder comme suit:


<textview android:id="@+id/textViewHello1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:tag="fonts/Oswald-Regular.ttf" android:text="Hello World 1"></textview>


ou ça:


<textview android:id="@+id/textViewHello2" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Hello World 2" style="@style/OswaldTextAppearance"></textview>
<style name="OswaldTextAppearance">
<item name="android:tag">fonts/Oswald-Regular.ttf</item>
<item name="android:textColor">#000000</item>
</style>


Maintenant, vous pouvez soit explicitement accès / Personnaliser la vue comme suit:


TextView textView = TextViewHelper.setupTextView/this, R.id.textViewHello1/.setText/"blah"/;


Ou simplement personnaliser tout à travers:


TextViewHelper.setupTextViews/this, /ViewGroup/ findViewById/R.id.parentLayout//; // parentLayout is the root view group /relative layout in my case/


Quelle est la classe magique, vous demandez? Principalement collé des autres postes SO, Avec des méthodes auxiliaires d'activité et de fragments:


import android.app.Activity;
import android.content.Context;
import android.graphics.Typeface;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.HashMap;
import java.util.Map;

public class TextViewHelper {
private static final Map<string, typeface=""> mFontCache = new HashMap&lt;&gt;//;

private static Typeface getTypeface/Context context, String fontPath/ {
Typeface typeface;
if /mFontCache.containsKey/fontPath// {
typeface = mFontCache.get/fontPath/;
} else {
typeface = Typeface.createFromAsset/context.getAssets//, fontPath/;
mFontCache.put/fontPath, typeface/;
}
return typeface;
}

public static void setupTextViews/Context context, ViewGroup parent/ {
for /int i = parent.getChildCount// - 1; i &gt;= 0; i--/ {
final View child = parent.getChildAt/i/;
if /child instanceof ViewGroup/ {
setupTextViews/context, /ViewGroup/ child/;
} else {
if /child != null/ {
TextViewHelper.setupTextView/context, child/;
}
}
}
}

public static void setupTextView/Context context, View view/ {
if /view instanceof TextView/ {
if /view.getTag// != null/ // also inherited from TextView's style
{
TextView textView = /TextView/ view;
String fontPath = /String/ textView.getTag//;
Typeface typeface = getTypeface/context, fontPath/;
if /typeface != null/ {
textView.setTypeface/typeface/;
}
}
}
}

public static TextView setupTextView/View rootView, int id/ {
TextView textView = /TextView/ rootView.findViewById/id/;
setupTextView/rootView.getContext//.getApplicationContext//, textView/;
return textView;
}

public static TextView setupTextView/Activity activity, int id/ {
TextView textView = /TextView/ activity.findViewById/id/;
setupTextView/activity.getApplicationContext//, textView/;
return textView;
}
}


</string,>

Giselle

Confirmation de:

Assurez-vous d'insérer le code ci-dessus dans onCreate//

après

Votre appel au patron et appelez setContentView//. Ce petit détail pour un moment m'a forcé à raccrocher.

Christine

Confirmation de:

vous pouvez utiliser easy & simple
https://android-arsenal.com/details/1/2044
bibliothèque tierce partie pour installer divers polices personnalisées pour votre
TextView

. Utilisation de cette bibliothèque, vous n'avez pas à vous soucier de charger et d'ajouter des polices au dossier. assets/fonts. Aussi sur la création d'un objet de police.

Au lieu


Typeface myTypeface = Typeface.createFromAsset/getAssets//, "fonts/myFont.ttf"/;
TextView myTextView = /TextView/findViewById/R.id.myTextView/;
myTextView.setTypeface/myTypeface/;


Seulement:


TextView myTextView = /TextView/findViewById/R.id.myTextView/;
myTextView.setTypeface/EasyFonts.robotoThin/this//;


Cette bibliothèque fournit également la police du visage suivante.

Roboto.

Droid avec des serifs

Robot droid.

Liberté

Fan rasoir

Android nation

Avocat vert

Reconnaissance

Blanche

Confirmation de:

DE

Android 8.0

L'utilisation de polices personnalisées dans l'annexe est devenue facile avec
downloadable fonts

.
Nous pouvons ajouter des polices directement à

res/font/ folder


Dans le dossier de projet, et en même temps, les polices sont automatiquement disponibles dans Android Studio.

https://i.stack.imgur.com/GbkuY.png
Maintenant installer

attribut
fontFamily

Dans la liste des polices, ou cliquez sur le bouton Sélectionnez également la police en fonction de votre choix. il

Ajouter une chaîne
tools:fontFamily="@font/your_font_file"

À ton TextView.


Cela créera automatiquement plusieurs fichiers.


1 .

dans le dossier values Il va créer
fonts_certs.xml

.

2.

Dans le manifeste, il ajoutera ces lignes:


<meta-data android:name="preloaded_fonts" android:resource="@array/preloaded_fonts"></meta-data>


3.
preloaded_fonts.xml



<resources>
<array name="preloaded_fonts" translatable="false">
<item>@font/open_sans_regular</item>
<item>@font/open_sans_semibold</item>
</array>
</resources>

Giselle

Confirmation de:

Si vous souhaitez télécharger une police du réseau ou facile à styliser, vous pouvez utiliser:

https://github.com/shellum/fontView
Exemple:


Layout
<com.finalhack.fontview.fontview android:id="@+id/someFontIcon" android:layout_height="80dp" android:layout_width="80dp"></com.finalhack.fontview.fontview>

//Java:
fontView.setupFont/"[url=http://blah.com/myfont.ttf"]http://blah.com/myfont.ttf"[/url], true, character, FontView.ImageType.CIRCLE/;
fontView.addForegroundColor/Color.RED/;
fontView.addBackgroundColor/Color.WHITE/;

Emilie

Confirmation de:

J'ai eu le même problème: TTF n'a pas apparu. J'ai changé le fichier de polices et avec le même code que cela fonctionne.

Alice

Confirmation de:

Mise à jour de la réponse:

Android 8.0 /API niveau 26/ introduit une nouvelle fonctionnalité, des polices dans XML.
Il suffit d'utiliser la fonction de police dans XML sur les appareils en cours d'exécution Android 4.1 /niveau 16 API/ et plus haut, utilisez la bibliothèque de support 26.

Regarde ça
https://developer.android.com/ ... n-xml

Ancienne réponse

Il y a deux façons de configurer les polices :

!!! Ma police personnalisée dans
assets/fonts/iran_sans.ttf


Méthode 1 :

Refrection Typeface.class |||

La meilleure voie

appeler FontsOverride.setDefaultFont// dans la classe extends Application, Ce code changera toutes les polices de programme, même Toast Fonts

AppController.java


public class AppController extends Application {

@Override
public void onCreate// {
super.onCreate//;

//Initial Font
FontsOverride.setDefaultFont/getApplicationContext//, "MONOSPACE", "fonts/iran_sans.ttf"/;

}
}


FontsOverride.java


public class FontsOverride {

public static void setDefaultFont/Context context, String staticTypefaceFieldName, String fontAssetName/ {
final Typeface regular = Typeface.createFromAsset/context.getAssets//, fontAssetName/;
replaceFont/staticTypefaceFieldName, regular/;
}

private static void replaceFont/String staticTypefaceFieldName, final Typeface newTypeface/ {
try {
final Field staticField = Typeface.class.getDeclaredField/staticTypefaceFieldName/;
staticField.setAccessible/true/;
staticField.set/null, newTypeface/;
} catch /NoSuchFieldException e/ {
e.printStackTrace//;
} catch /IllegalAccessException e/ {
e.printStackTrace//;
}
}
}



Méthode 2:

Utilisation setTypeface

Pour une vision spéciale juste appeler setTypeface//, Changer la police.

CTextView.java


public class CTextView extends TextView {

public CTextView/Context context/ {
super/context/;
init/context,null/;
}

public CTextView/Context context, @Nullable AttributeSet attrs/ {
super/context, attrs/;
init/context,attrs/;
}

public CTextView/Context context, @Nullable AttributeSet attrs, int defStyleAttr/ {
super/context, attrs, defStyleAttr/;
init/context,attrs/;
}

@RequiresApi/api = Build.VERSION_CODES.LOLLIPOP/
public CTextView/Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes/ {
super/context, attrs, defStyleAttr, defStyleRes/;
init/context,attrs/;
}

public void init/Context context, @Nullable AttributeSet attrs/ {

if /isInEditMode///
return;

// use setTypeface for change font this view
setTypeface/FontUtils.getTypeface/"fonts/iran_sans.ttf"//;

}
}


FontUtils.java


public class FontUtils {

private static Hashtable<string, typeface=""> fontCache = new Hashtable&lt;&gt;//;

public static Typeface getTypeface/String fontName/ {
Typeface tf = fontCache.get/fontName/;
if /tf == null/ {
try {
tf = Typeface.createFromAsset/AppController.getInstance//.getApplicationContext//.getAssets//, fontName/;
} catch /Exception e/ {
e.printStackTrace//;
return null;
}
fontCache.put/fontName, tf/;
}
return tf;
}

}


</string,>

Emilie

Confirmation de:

Eh bien, en sept ans, vous pouvez facilement changer l'application complète.
textView

ou ce que vous voulez en utilisant des bibliothèques
android.support

26++.

E.g:

Créez votre colis

Polices

app/src/res/font Et déplacez votre police dessus.

https://i.stack.imgur.com/gCE99.png
Et dans le sujet de votre application, ajoutez-le comme fontFamily:


<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
. . . ...
<item name="android:fontFamily">@font/demo</item>
</style>


Exemple d'utilisation seulement avec
textView

:


<style name="fontTextView" parent="@android:style/Widget.TextView">
<item name="android:fontFamily">monospace</item>
</style>


Et ajoutez à votre thème principal:


<item name="android:textViewStyle">@style/fontTextView</item>


Actuellement, il travaille sur

8.1 avant que 4.1 API Jelly Bean

, Et ceci est une large gamme.

Emilie

Confirmation de:

La bonne façon de le faire comme de API 26 Décrit dans la documentation officielle ici :

https://developer.android.com/ ... .html
Cela inclut l'emplacement des fichiers. ttf dans le dossier res/font et créer un fichier de famille de polices.

Dominique

Confirmation de:

Ouvrez votre projet et sélectionnez

projet

dans le coin supérieur gauche

app

-->

src

-->

main

Cliquez avec le bouton droit de la souris sur la principale et créez un catalogue l'appelez comme

actifs

Cliquez avec le bouton droit de la souris pour évaluer et créer un nouveau répertoire, nommez-le.

Polices

Vous devez trouver des polices libres, telles que
https://www.1001freefonts.com/italic-fonts.php
Donnez-le à votre propre Textview et nommez-le dans sa classe d'activité

Copiez vos polices sur le dossier

fonts


TextView txt = /TextView/ findViewById/R.id.txt_act_spalsh_welcome/;
Typeface font = Typeface.createFromAsset/getAssets//, "fonts/Aramis Italic.ttf"/;
txt.setTypeface/font/;


Le nom de police doit être correct et gai.

Giselle

Confirmation de:

Oui, les polices téléchargées sont si simples, comme indiqué

Dipali S.

C'est comme ça que tu le fais ...

Placer un.
TextView

.

Sur le panneau Propriétés, sélectionnez la liste déroulante.
fontFamily

. Si ce n'est pas là, trouvez la voiture /> et cliquez dessus pour déployer
textAppearance

/ Dessous.

Développez la liste déroulante
font-family

.

Dans une petite liste, faites défiler tout jusqu'à ce que vous voyiez
more fonts


Cela ouvrira une boîte de dialogue dans laquelle vous pouvez rechercher à partir de
Google Fonts


Trouvez la police dont vous avez besoin dans la barre de recherche en haut

Sélectionnez votre police.

Sélectionnez le style de police que vous aimez /Par exemple, audacieux, habituels, italiques, etc./

Dans le volet de droite, sélectionnez un commutateur avec une inscription
Add font to project


Cliquez sur OK. Maintenant le vôtre TextView Il a la police que vous aimez!

BONUS:
Si vous voulez styliser EVERYTHING avec texte dans votre application avec la police sélectionnée, il suffit d'ajouter
<item name="android:fontfamily">@font/fontnamehere</item>

dans votre
styles.xml

Alice

Confirmation de:

La solution la plus simple android Soutenu maintenant!

Utilisez la police utilisateur dans xml:


<textview android:fontfamily="@font/[your font resource]" android:layout_height="wrap_content" android:layout_width="wrap_content"></textview>


Regardez plus:

https://developer.android.com/ ... .html

Pour répondre aux questions, connectez-vous ou registre