50 votes

Problème lors de l'utilisation d'une police personnalisée - "Impossible de créer une police native"

J'essaie d'utiliser une police que j'ai trouvée sur Internet, mais le problème est que j'obtiens un FC avec "la police de caractères native ne peut pas être créée".

Voici le code dans le getView de mon ListVIew:

         holder.tv_SuraName   =(TextView)convertView.findViewById(R.id.Start_Name);
        holder.tv_SuraName.setTypeface(Typeface.createFromAsset(mContext.getAssets(), "suralist_font.ttf"));
 

Quelqu'un peut-il me dire pourquoi puis-je utiliser la rom personnalisée? Vous pouvez l'obtenir ICI .. le fichier est .ttf

48voto

user1819347 Points 126

Mon problème était un placement incorrect du dossier des ressources.

Lorsque vous utilisez Android Studio, le dossier des ressources doit se trouver à l'intérieur des ensembles source, par exemple src / main / assets /

Trouvé dans cette réponse

37voto

Nikolay Elenkov Points 32843

Le fichier de police est corrompu ou non pris en charge pour une raison quelconque. Vous pouvez le déposer sur la carte SD et le charger à partir du fichier, pour vous assurer que ce n'est pas un problème avec vos actifs.

29voto

erdomester Points 3191

Il y a essentiellement 4 choses qui peuvent provoquer cela:

  1. Vous utilisez la mauvaise extension, par exemple, vous essayez
  2. Vous avez placé les polices dans le dossier des ressources et non dans les ressources / polices /
  3. Vous avez mal orthographié les polices
  4. Les polices doivent être en minuscules (dans mon cas, la solution était de renommer MyFont.ttf en myfont.ttf, étrange)

21voto

tlrmcknz Points 381

Vérifiez que l'extension n'est pas en majuscules, c'est-à-dire. suralist_font.TTF

Les polices viennent souvent de cette façon et peuvent être ignorées.

9voto

digiholic Points 425

J'ai eu ce même problème, j'ai créé le mien dans assets> fonts> everything.ttf et obtenais la même erreur. J'ai ajouté l'extension des polices (fonts / everything.ttf) et cela a résolu le problème dans tous les cas.

  holder.tv_SuraName   =(TextView)convertView.findViewById(R.id.Start_Name);
 holder.tv_SuraName.setTypeface(Typeface.createFromAsset(mContext.getAssets(),    "fonts/suralist_font.ttf"));
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X