2 votes

Est-il possible de déterminer la largeur d'une chaîne de caractères dans Appcelerator?

Je cherche à déterminer la longueur d'une chaîne de caractères afin de pouvoir organiser dynamiquement certaines étiquettes. Sur iOS, j'utiliserais :
CGSize size = [string sizeWithFont:font];
Est-il possible de faire cela avec l'API d'Appcelerator ou existe-t-il une autre manière de réaliser ce type de mise en page dynamique ?

1voto

SPYBUG96 Points 1539

Si vous créez des étiquettes avec une largeur 'auto', une fois qu'elles ont été construites, vous pouvez accéder à leur largeur réelle et positionner d'autres étiquettes en conséquence:

var window = Ti.UI.createWindow();

var label = Ti.UI.createLabel({
    text: 'Ceci est une chaîne de test',
    width: 'auto',
    color: '#FFF',
    left: 0,
    top: 0
});

var labelWidth = label.width;

Ti.API.info(labelWidth);

// Positionner dynamiquement la deuxième étiquette
var secondLabel = Ti.UI.createLabel({
    text: 'Deuxième étiquette',
    width: 100,
    left: labelWidth + 10,
    top: 0,
    color: '#FFF'
});

window.add(label);
window.add(secondLabel);

window.open();

Ce n'est pas très élégant mais cela fonctionne.

0voto

bh88 Points 1997

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