Utilisation d'une police personnalisée
Fermé
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
-
17 mars 2017 à 16:48
BunoCS Messages postés 15495 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 octobre 2024 - 28 mars 2017 à 16:01
BunoCS Messages postés 15495 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 octobre 2024 - 28 mars 2017 à 16:01
A voir également:
- Utilisation d'une police personnalisée
- Notice d'utilisation - Guide
- Sonnerie personnalisée android - Guide
- Utilisation chromecast - Guide
- Police facebook - Guide
- Police aptos - Accueil - Bureautique
13 réponses
BunoCS
Messages postés
15495
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 908
17 mars 2017 à 17:15
17 mars 2017 à 17:15
Si ^^
Utilises Calligraphy
Utilises Calligraphy
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
17 mars 2017 à 17:28
17 mars 2017 à 17:28
Merci je vais y jeter un coup d'oeil. J'ai le cerveau qui bouillonne d'idées et chaque idée apporte son lot de questionnement et de recherche et d'appels à l'aide. Cela fait une semaine que je suis bloqué sur la première activité de mon appli, seulement parce que je dois penser à faire le design. J'espère qu'une fois que ce sera fait j'avancerai un peu plus vite...
BunoCS
Messages postés
15495
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 908
17 mars 2017 à 17:36
17 mars 2017 à 17:36
J'ai le cerveau qui bouillonne d'idées et chaque idée apporte son lot de questionnement et de recherche et d'appels à l'aideQue cela ne t'empêches pas de chercher par toi-même ;)
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
18 mars 2017 à 19:10
18 mars 2017 à 19:10
Bon... je n'arrive pas à comprendre comment ça fonctionne... ça fait 1h que j'y suis. Le problème c'est qu'il y a plein de bouts de code dans l'explicatif et je n'arrive pas à savoir s'il faut faire toutes les étapes de l'explicatif (ce qui serait quand même assez lourd en terme d'écriture), ou bien s'il s'agit de plusieurs méthodes différentes, et bien sûr il y a des termes techniques que j'ai du mal à traduire en français donc difficile pour moi de comprendre le sens des explications.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
BunoCS
Messages postés
15495
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 908
Modifié par BunoCS le 20/03/2017 à 09:28
Modifié par BunoCS le 20/03/2017 à 09:28
Il n'y a pas tant que ça de code à écrire...
Si tu veux que tous tes textes soient dans ta police custom:
- tu places ton fichier de police dans le rep "assets/fonts"
- dans ta classe
- dans chaque
@+
Buno, Modo CS-CCM
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
The urgent is done, the impossible is underway. For miracles, provide for a delay...
Si tu veux que tous tes textes soient dans ta police custom:
- tu places ton fichier de police dans le rep "assets/fonts"
- dans ta classe
application, tu mets ceci:
@Override public void onCreate() { super.onCreate(); setupCalligraphy(); } private void setupCalligraphy() { CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() .setDefaultFontPath("fonts/ton_fichier.ttf") .setFontAttrId(R.attr.fontPath) .build() ); }
- dans chaque
Activity(ou mieux, dans une Activity parente):
@Override protected void attachBaseContext(Context newBase) { super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); }
@+
Buno, Modo CS-CCM
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
The urgent is done, the impossible is underway. For miracles, provide for a delay...
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
23 mars 2017 à 14:43
23 mars 2017 à 14:43
Salut,
Visiblement Android Studio a un problème avec
Ensuite je ne vois pas ce que tu veux dire par placer le code dans la classe
Visiblement Android Studio a un problème avec
CalligraphyConfig,
fontPath,
Context newBaseet
CalligraphyContextWrapper. Tous ces termes sont en rouge et il ne me propose aucun solution.
Ensuite je ne vois pas ce que tu veux dire par placer le code dans la classe
application. Dans quel fichier et à quel niveau du code source ? Pareil pour ton second bout de code. Je dois faire quelque chose comme ci-dessous ?
package com.xxxxxxxxxx;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class Inscription extends AppCompatActivity
{
@Override
public void onCreate() {
super.onCreate();
setupCalligraphy();
}
private void setupCalligraphy() {
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/3.ttf")
.setFontAttrId(R.attr.fontPath)
.build()
);
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.inscription_activity);
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
}
}
BunoCS
Messages postés
15495
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 908
Modifié par BunoCS le 23/03/2017 à 15:01
Modifié par BunoCS le 23/03/2017 à 15:01
J'ai oublié de préciser qu'il fallait rajouter une ligne dans ton Gradle pour pourvoir importer la lib.
Tu aurais pu le trouver tout seul, ça ;) Et ne pas oublier les import qui vont bien.
Ensuite, au niveau de l'application, il te faut étendre la classe Application afin de pouvoir rajouter tes initialisations diverses, dont Calligraphy.
Dans le Manifest, il faut modifier la balise application
Enfin, au lieu de "copier bêtement", une simple relecture t'aurait montré que tu as mis la déclaration de
@+
Buno, Modo CS-CCM
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
The urgent is done, the impossible is underway. For miracles, provide for a delay...
compile 'uk.co.chrisjenx:calligraphy:2.2.0'
Tu aurais pu le trouver tout seul, ça ;) Et ne pas oublier les import qui vont bien.
Ensuite, au niveau de l'application, il te faut étendre la classe Application afin de pouvoir rajouter tes initialisations diverses, dont Calligraphy.
import android.app.Application; public class MyCustomApplication extends Application { @Override public void onCreate() { super.onCreate(); setupCalligraphy(); } private void setupCalligraphy() { CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() .setDefaultFontPath("fonts/ton_fichier.ttf") // ici, il faut indiquer le nom de ton fichier de police qui se trouve dans le répertoire 'assets' .setFontAttrId(R.attr.fontPath) .build() ); } }
Dans le Manifest, il faut modifier la balise application
<application android:name=".MyCustomApplication" android:icon="@drawable/icon" android:label="@string/app_name" ...>
Enfin, au lieu de "copier bêtement", une simple relecture t'aurait montré que tu as mis la déclaration de
attachBaseContext()dedans le
onCreate()! ça ne risque pas de compiler...
@+
Buno, Modo CS-CCM
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
The urgent is done, the impossible is underway. For miracles, provide for a delay...
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
27 mars 2017 à 01:28
27 mars 2017 à 01:28
Salut,
Bon décidément je ne sais pas si je vais réussir un jour à installer cette foutue police perso... c'est pas croyable de galérer autant juste pour installer une simple police. J'ai un nouveau souci. J'ai modifié le Gradle, synchronisé, et voilà ce qu'Android Studio m'affiche comme message d'erreur.
Bon décidément je ne sais pas si je vais réussir un jour à installer cette foutue police perso... c'est pas croyable de galérer autant juste pour installer une simple police. J'ai un nouveau souci. J'ai modifié le Gradle, synchronisé, et voilà ce qu'Android Studio m'affiche comme message d'erreur.
BunoCS
Messages postés
15495
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 908
27 mars 2017 à 09:33
27 mars 2017 à 09:33
Euh..
Si tu mets ta ligne AVANT l'accolade fermante du bloc 'dependencies', hum? ;)
Si tu mets ta ligne AVANT l'accolade fermante du bloc 'dependencies', hum? ;)
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
27 mars 2017 à 19:41
27 mars 2017 à 19:41
Tu vas finir par croire que je suis débile... bon, reprenons tout depuis le début, alors...
Dans le fichier java j'ai importé tous les packages :
Dans l'activité principale du fichier java j'ai déclarer ça :
Juste après l'accolade fermante de
J'ai modifié le gradle aussi. J'ai modifié aussi le manifest :
Dans le fichier java j'ai importé tous les packages :
package com.alexandredubus.helloweride;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import uk.co.chrisjenx.calligraphy.CalligraphyConfig;
import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper;
Dans l'activité principale du fichier java j'ai déclarer ça :
//!\\ Déclaration de l'activité. //!\\
public class Index extends AppCompatActivity
{
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setupCalligraphy();
//!\\ Affichage de la page. //!\\
setContentView(R.layout.index_activity);
Juste après l'accolade fermante de
@Override public void onCreate(Bundle savedInstanceState) {j'ai déclaré ça :
private void setupCalligraphy() {
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/3.ttf") // ici, il faut indiquer le nom de ton fichier de police qui se trouve dans le répertoire 'assets'
.setFontAttrId(R.attr.fontPath)
.build()
);
}
J'ai modifié le gradle aussi. J'ai modifié aussi le manifest :
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxxxxxxxxx">
<application
android:name=".MyCustomApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Index">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Inscription" />
<activity android:name=".Start" />
</application>
</manifest>
MyCustomApplicationapparaît en rouge dans le manifest. D'habitude j'arrive à comprendre les cours et à les adapter à mon projet mais là... enfin bref.
BunoCS
Messages postés
15495
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 908
28 mars 2017 à 09:21
28 mars 2017 à 09:21
Hello,
Reprends calmement depuis le début:
Sur le GitHub, il y a un projet d'exemple. L'as-tu regardé?
Avec l'exemple plus le code que je te donne ici, là, je ne vois pas ce que je peux faire de plus, à part coder par moi-même ;)
Reprends calmement depuis le début:
Dans l'activité principale du fichier java j'ai déclarer ça :Non! Le
setupCalligraphy()doit être dans la classe
Applicationet non dans l'
Activity.
Sur le GitHub, il y a un projet d'exemple. L'as-tu regardé?
Avec l'exemple plus le code que je te donne ici, là, je ne vois pas ce que je peux faire de plus, à part coder par moi-même ;)
Tu vas finir par croire que je suis débile...Non, rassures-toi..Mais je pense que tu ne cherches pas assez ;)
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
28 mars 2017 à 15:13
28 mars 2017 à 15:13
De quelle classe
Applicationparles-tu ? Je n'ai pas de classe
Applicationdans mon projet. C'est un fichier JAVA, XML, ou autre ? C'est un fichier que je dois créer ou qui existe ? C'est ça que je ne comprends pas. Depuis le début en fait je me contente de modifier le JAVA de mon Activity "Index.java", le layout associé "index_activity.xml", le gradle et le manifest... mais il y a encore un autre fichier à modifier ?
BunoCS
Messages postés
15495
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 908
28 mars 2017 à 16:01
28 mars 2017 à 16:01
Tu dois créer une classe Application pour pouvoir initialiser Calligraphy.
Je te l'ai dit ici et c'est écrit dans la doc ici.
Pour le code Java concernant cette classe, tu as un exemple ici
Pour voir le Manifest associé, c'est ici
Le sample complet ici
Je te l'ai dit ici et c'est écrit dans la doc ici.
Pour le code Java concernant cette classe, tu as un exemple ici
Pour voir le Manifest associé, c'est ici
Le sample complet ici