2009-11-11 7 views
0

Je veux que le titre de mon application soit figé, c'est-à-dire, même si je fais défiler la page, je veux que le nom de l'étiquette soit net, en haut toujours. Est-ce possible?comment geler une étiquette en flexion?

Maintenant, si je défile vers le bas, le nom de l'écran disparaît. Au lieu de cela, peut-il être congelé comme des colonnes ou des lignes gelées dans Excel?

Répondre

1

Exécuter ceci:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%"> 
    <mx:VBox width="100%" height="100%"> 
     <mx:Label text="My Label!" /> 
     <mx:VBox width="100%" height="100%" minWidth="0" minHeight="0"> 
      <mx:CheckBox label="1" /> 
      <mx:CheckBox label="2" /> 
      <mx:CheckBox label="3" /> 
      <mx:CheckBox label="4" /> 
      <mx:CheckBox label="5" /> 
      <mx:CheckBox label="6" /> 
      <mx:CheckBox label="7" /> 
      <mx:CheckBox label="8" /> 
      <mx:CheckBox label="9" /> 
      <mx:CheckBox label="10" /> 
      <mx:CheckBox label="11" /> 
      <mx:CheckBox label="12" /> 
      <mx:CheckBox label="13" /> 
      <mx:CheckBox label="14" /> 
      <mx:CheckBox label="15" /> 
      <mx:CheckBox label="16" /> 
      <mx:CheckBox label="17" /> 
      <mx:CheckBox label="18" /> 
      <mx:CheckBox label="19" /> 
     </mx:VBox> 
     <mx:Label text="Bottom label here!" /> 
    </mx:VBox> 
</mx:Application> 

Set minWidth = 0 et minHeight = 0 pour Vbox ne va pas se développer.

+0

ya .. c'était simple .. d'ajouter tout le reste sauf l'étiquette dans la vbox. Merci .. – Angeline

+0

Cela échouerait si la hauteur de l'application est inférieure à la hauteur de la vbox. Définissez la hauteur de l'application sur 300 et voyez ce qui se passe. Réglez la hauteur de la seconde VBox à une valeur fixe ( Amarghosh

1

Avez-vous essayé ApplicationControlBar - utilisez-le avec dock réglé sur true.

Je cite la page liée:

Mode Amarré: Le bar est toujours au sommet de la zone de dessin de l'application et devient une partie du chrome application. Les barres de défilement au niveau de l'application ne s'appliquent pas au composant, de sorte qu'il reste toujours en haut de la zone visible et la barre se développe pour remplir la largeur de l'application. Pour créer une barre ancrée, définissez la valeur de la propriété dock sur true.

+0

J'ai essayé comme ceci: '' Mais encore, quand je défile, l'étiquette disparaît. – Angeline

+0

Selon l'exemple, cela fonctionne très bien, si j'ajoute à mon composant ne fonctionne pas. Mais je l'ajoute à un composant mxml de l'application mxml principale. C'est un enfant de pile de vue de l'application mxml principale. Est-ce que cette application ControlBar fonctionnera uniquement dans les applications mxml et non dans les fichiers de composants mxml? – Angeline

+0

Je ne suis pas sûr des autres composants. J'ai suggéré cela comme vous l'avez dit dans la question. Utiliser la méthode @ zdmytriv - assigner une hauteur fixe (pas un pourcentage) pour la seconde vbox afin que le défilement s'applique toujours à celui-là au lieu de la vbox externe. – Amarghosh

1

Je ne sais pas si je comprends bien vous corriger, mais je le ferais de la façon suivante:

<mx:VBox width="100%" height="100%" verticalScrollPolicy="off"> 
    <mx:Label label="My Title" /> 
    <mx:VBox name="content"> 
     ... 
    </mx:VBox> 
</mx:VBox> 

Vous allez faites défiler juste la seconde VBox et la VBox externe avec le titre garde toujours le dessus.

+0

Eh bien, j'allais pour cette option dans le premier cas. Mais je voulais savoir s'il existe des options plus simples en définissant une variable. Parce que parfois, je reçois des problèmes en mettant le verticalScrollPolicy à l'état inactif. – Angeline

Questions connexes