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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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