J'ai eu un combat énorme avec cette question aujourd'hui (3 h), ce qui est beaucoup trop pour un petit problème de ce genre. Quoi qu'il en soit, aucun des conseils ci-dessus résolu mon problème. J'ai tout essayé. J'ai fini par faire ma propre classe, qui étend la classe mx.controls.Label
. La mise en œuvre est ci-dessous. N'hésitez pas à l'utiliser dans vos projets. Veuillez noter que vous devez désactiver truncateToFit dans votre mxml lorsque vous utilisez celui-ci. Sinon, la chaîne "null" sera ajoutée à votre texte et aucune troncation ne sera faite.
code:
package com.feijk.UI {
import mx.controls.Label;
/**
* An extension for mx.controls.Label to truncate the text and show
* a tooltip with the full-length content. This sub-class is meant to be
* used when the regular truncateToFit does result in a "null" appendix
* on the string instead of the "...". In order for this to work, I used
* the following parameters in my mxml:
*
* - truncateToFit = false
* - maxWidth = set
* - width = set
*
*
* @author Tomi Niittumäki // Feijk Industries 2010
* @NOTE: Feel free to use! :)
*/
public class FLabel extends Label{
// define the truncation indicator eg. ...(more) etc.
private const TRUNCATION_INDICATOR:String = new String("...");
/**
* Constructor
*/
public function FLabel(){
super();
}
/**
* The overriding method, which forces the textField to truncate
* its content with the method truncateToFit(truncationIndicator:String)
* and then supers the tooltip to be the original full-length text.
*/
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
super.updateDisplayList(unscaledWidth, unscaledHeight);
//trace("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!: "+textField.text);
textField.truncateToFit(TRUNCATION_INDICATOR);
super.toolTip = text;
}
}
}
Veuillez ajouter le code source exactement tel qu'il est (cela semble l'un de ceux désactivés par des erreurs). Le texte du Label est-il une concaténation de deux chaînes? Aussi, avez-vous réglé 'maxWidth'? – dirkgently
Ajout de code - Je suis assez sûr que cela n'a rien à voir avec mon code. Cela semble être une question de config peut-être? –
L'exemple de code fourni ne fonctionne-t-il pas de votre côté? Un copier-coller direct du code ci-dessus fonctionne comme il se doit. Peut-être développer plus sur votre scénario particulier plus? – nevets1219