Flashhilfe.de - Flash Community

SkinnableContainer mit constraint-based layout [Flex 4]

 


AntwortenRegistrieren Seite1  

emotion#1
Benutzerbild von emotion
Beiträge: 191
Registriert: Jun 2008

27.09.2011, 08:22

Guten Morgen Leute

Zuerst den Code:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
            xmlns:s="library://ns.adobe.com/flex/spark" xmlns:local="*"  width="1024">
   <fx:Declarations>
      <!-- Platzieren Sie nichtvisuelle Elemente (z. B. Dienste, Wertobjekte) hier -->
   </fx:Declarations>
   
   <s:SkinnableContainer right="0" left="0" skinClass="skins.SettingsBarSkin">
      <s:HGroup>
         <s:Button width="50" />
         <s:Button width="50" />
         <s:Button width="50" />
      </s:HGroup>
                <s:HGroup left="0">
         <s:Button width="50" />
         <s:Button width="50" />
         <s:Button width="50" />
      </s:HGroup>
   </s:SkinnableContainer>
</s:Application>


ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?xml version="1.0" encoding="utf-8"?>
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark">
   <!-- host component -->
   <fx:Metadata>
      [HostComponent("spark.components.SkinnableContainer")]
   </fx:Metadata>
   
   <!-- states -->
   <s:states>
      <s:State name="disabled" />
      <s:State name="normal" />
   </s:states>
   
   <!-- SkinParts
   name=contentGroup, type=spark.components.Group, required=false
   -->
   
   <s:Line left="0" right="0" bottom="0">
      <s:stroke>
         <s:SolidColorStroke color="0xacacac" weight="1" />
      </s:stroke>
   </s:Line>
   
   <s:Rect id="background" left="0" top="0" right="0" bottom="1">
      <s:fill>
         <s:BitmapFill source="@Embed(source='assets/footer.png')"/>
      </s:fill>
   </s:Rect>
   
   <s:Group id="contentGroup">
      
   </s:Group>
   
</s:Skin>


Kann mir jemand erklären warum beide HGroups links ausgerichtet werden? Bzw. was muss ich machen, damit eine Hgroup links die andere rechts ausgerichtet wird?

Gruss
emotion
Geändert von emotion am 27.09.11 um 08:24 Uhr
Werbung
Beiträge: 0
Registriert: Feb 2016


willie33#2
Benutzerbild von willie33
Beiträge: 147
Wohnort: Qo'noS
Registriert: Nov 2009

28.09.2011, 14:07

Setze bei der anderen HGroup die Eigenschaft "right" auf "0". Und setze "width" wenn möglich um eine korrekte Anzeige sicherzustellen.
Loading comments...
emotion#3
Benutzerbild von emotion
Beiträge: 191
Registriert: Jun 2008

Themenautor/in

28.09.2011, 22:47

Danke für deine Antwort..  Ein blöder Fehler hier im Post.
Im Original-Code hab ich right natürlich gesetzt. Aber trotzdem bleiben beide links.
Die Breite ist ja zuoberst definiert...

Hier nochmals ein Beispiel:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?xml version="1.0" encoding="utf-8"?>
<s:SkinnableContainer xmlns:fx="http://ns.adobe.com/mxml/2009"
                 xmlns:s="library://ns.adobe.com/flex/spark"
                 width="1024" height="427" backgroundAlpha="0"
                 skinClass="skins.AppSkin">
   
   <fx:Declarations>
      <!-- Platzieren Sie nichtvisuelle Elemente (z. B. Dienste, Wertobjekte) hier -->
   </fx:Declarations>
   
   <s:layout>
      <s:BasicLayout/>
   </s:layout>
   
   <s:Button id="pc1Btn" right="0" label="PC1"/>
   
</s:SkinnableContainer>

<?xml version="1.0" encoding="utf-8"?>
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark">
   <!-- host component -->
   <fx:Metadata>
      [HostComponent("spark.components.SkinnableContainer")]
   </fx:Metadata>
   
   <!-- states -->
   <s:states>
      <s:State name="disabled" />
      <s:State name="normal" />
   </s:states>
   
   <!-- SkinParts
   name=contentGroup, type=spark.components.Group, required=false
   -->
   
   <s:Line left="0" right="0" top="0">
      <s:stroke>
         <s:SolidColorStroke color="0xacacac" weight="1" />
      </s:stroke>
   </s:Line>
   
   <s:Line left="0" right="0" bottom="0">
      <s:stroke>
         <s:SolidColorStroke color="0xacacac" weight="1" />
      </s:stroke>
   </s:Line>
   
   <s:Rect id="background" left="0" top="1" right="0" bottom="1">
      <s:fill>
         <s:BitmapFill source="@Embed(source='assets/footer.png')" />
      </s:fill>
   </s:Rect>
   
   <s:Group id="contentGroup"/>
   
</s:Skin>




Auch hier funktioniert right nicht... warum versteh ich aber nicht

Gruss
emotion
Geändert von emotion am 28.09.11 um 22:48 Uhr
willie33#4
Benutzerbild von willie33
Beiträge: 147
Wohnort: Qo'noS
Registriert: Nov 2009

29.09.2011, 12:34

Ganz einfach, wenn die Breite der Anwendung und des Containers gleich sind, wird der Container immer so aussehen, als ob er links platziert wäre.
Loading comments...
Werbung
Beiträge: 0
Registriert: Feb 2016


emotion#5
Benutzerbild von emotion
Beiträge: 191
Registriert: Jun 2008

Themenautor/in

04.10.2011, 23:39

ja aber der button sollte sich im basic layout doch rechts ausrichten, da right 0 ist!?

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de