Utiliser des polices de caractères ttf et otf avec Appcelerator Titanium

Dans vos applications, vous pouvez utiliser les polices qui sont standards à iOS ou Android. C’est pratique mais vous pouvez avoir envie d’utiliser des polices plus fun, comme celles qu’on peut trouver sur Google Web Fonts. C’est très facilement possible, et ça ajoutera une dose de de personnalisation à votre application qui pourra intéresser vos utilisateurs.

Pour ça, tout d’abord créez un dossier « fonts » dans votre dossier « resources« . Cela permettra que celles-ci soient copiées au moment de la compilation de votre projet. Ensuite, il faut indiquer à Xcode que ce fichier sera utilisée par l’application. Après avoir compilé au moins une fois votre projet, vous devez aller récupérer dans « build/iphone/ » le fichier « info.plist » qui est un fichier de configuration pour votre projet iOS et le copier à la racine de votre projet Titanium, c’est à dire au même niveau que « Resources ». C’est important car sinon votre modification ne sera pas prise en compte, Titanium génèrera donc le projet Xcode avec ce fichier de configuration.

Si vous n’avez pas la ligne « Fonts provided by application« , rajoutez la simplement. Ensuite, il faut juste remplir ce tableau d’items avec comme valeur l’url absolue de là où se trouve votre police de caractère.

Ajouter des polices de caractères dans Titanium Mobile

Ajouter des polices de caractères dans Titanium Mobile

Vous n’avez plus qu’à utiliser votre police de caractère dans vos labels et autres composants comme une police intégrée :

1
2
3
4
font:{
  fontFamily:'Ruluko',
  fontSize:'22dp'
}

Vous voilà avec une belle police de caractère 🙂

 

  • Bab

    Merci beaucoup !
    Tout fonctionne sauf pour mes titres de fenêtre ..
    Bref c’est terrible !

    • C’est normal ! 🙂
      Pour overrider les titres de fenêtres, il faut en fait utiliser la méthode setTitleControl et tu peux utiliser n’importe quel type de View.

      Je t’ai mis un exemple ici : https://gist.github.com/flrent/5641869

      • Bab

        Ahah énorme ! Ça marche ! Merci !!

        Dernière mini question qui à aucun rapport avec le sujet, j’ai presque fini l’appli sur laquelle je bosse mais il y a un truc que je n’arrive pas à gérer…
        Je souhaite insérer une liste de photo mais que je puisse contrôler à distance ( en rajouter des nouvelles, en supprimer .. )
        Un peu comme toi sur ton appli électro posé mais version photo 😉

        • Content que ça marche !
          Pour tes photos, je te conseillerai d’utiliser une ListView, nouveau composant dans Titanium 3.1 (faut d’ailleurs que je change ça dans Electro Posé). Fais toi une fonction qui appelle en ajax ton flux json de photos, et au success callback vide la liste et la ralimente avec les nouvelles photos.