Taille précises de chaque lettres TextView
Bonjour,
Je souhaiterais effectuer une translation sur un textview comprenant plusieurs mots et cette translation (horizontale) aurait à translater en X de la taille d'un mot donné.
Exemple :
monTextView comprend : "aaa iii abcdef ...."
j'aimerai que ma translation translate en X la première fois de la taille de "aaa", la deuxième fois de la tialle de "iii", etc...
j'ai essayé ce bout de code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
private void slideListeMots(String str) {
float fromXDelta = fromXDelta_save;
float toXDelta = fromXDelta_save + str.length() * monTextView.getTextSize() * -1;
float fromYDelta = 0.0f;
float toYDelta = 0.0f;
fromXDelta_save = toXDelta;
//parametre de la translation
translate = new TranslateAnimation(fromXDelta, toXDelta, fromYDelta, toYDelta);
translate.setDuration(1000);
translate.setFillAfter(true); //permet que l'animation reste à son état de fin et ne se reset pas
monTextView.setAnimation(translate);
} |
sachant que fromXDelta_save est une sauvegarde de la nouvelle position de la translation (afin qu'elle ne se remette pas à 0 au prochaine lancement)
Bon enfait mon soucis est que je récupère bien la taille en px des caractères de mo textView etc.. mais le problème est que
Code:
1 2
|
str.length() * monTextView.getTextSize() |
me donne la même taille pour "iii" et "aaa".
Or la chaine "iii" est plus petite que la chaine "aaa" (due à la taille des caractère)...:?
Donc est-ce que quelqu'un aurait un moyen de connaitre exactement la taille qu'il me faudrait translate en X ??
Merci :)