スパークボタンに2つのラベルを付けることができるスキンを作成しましたが、ボタンのテキストは垂直に配置されません。私がそれを与える設定に関係なく、ボタンの上部にとどまります。ただし、スキンのアイコンは垂直方向に中央になります。フレックススパークのスキンを垂直にセンタリングするにはどうすればいいですか?
これが皮膚である:
<s:SparkButtonSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
minWidth="82" minHeight="82"
alpha.disabled="0.5" initialize="autoIconManagement=false">
<fx:Metadata>[HostComponent("com.XXXX.components.TwoLineButton")]</fx:Metadata>
<!-- states -->
<s:states>
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
<s:State name="disabled" />
</s:states>
<s:Image source="{getStyle('upSkin')}"
source.over="{getStyle('overSkin')}"
source.down="{getStyle('downSkin')}"
source.disabled="{getStyle('disabledSkin')}"
width="100%" height="100%"
/>
<s:HGroup verticalAlign="middle" height="100%" width="100%"
paddingLeft="{getStyle('paddingLeft')}"
paddingRight="{getStyle('paddingRight')}"
paddingTop="{getStyle('paddingTop')}"
paddingBottom="{getStyle('paddingBottom')}"
gap="{getStyle('horizontalGap')}"
verticalCenter="0">
<s:BitmapImage id="iconDisplay" includeInLayout="{iconDisplay.source}"/>
<s:VGroup gap="{getStyle('verticalGap')}" height="100%" width="100%">
<s:Label id="labelDisplay"
textAlign="center"
width="100%"
maxDisplayedLines="1"
horizontalCenter="0" verticalCenter="1" verticalAlign="middle"
left="10" right="10" top="2" bottom="2">
</s:Label>
<s:Label id="bottomLabelDisplay"
textAlign="center"
width="100%"
maxDisplayedLines="1"
horizontalCenter="0" verticalCenter="1" verticalAlign="middle"
left="10" right="10" top="2" bottom="2">
</s:Label>
</s:VGroup>
</s:HGroup>
これは私がそれを呼んでいるコードです:私はのhgroupがハードコーディングさ高さの値を使用して作ってみた
<components:TwoLineButton
width="308"
label="TopLabel"
bottomLabel="Bottom label"
click="handleButtonClick(event)"
/>
それはうまくいきません。
ありがとうございます。
あなたは 'Y'、 'X' のような絶対的な制約を使用することはできません
それはまだそれらを一番上に揃えるつもりです。理由は私の答えの2番目の段落を参照してください。 – RIAstar
vGroupの高さを取り除くことで、それを修正!ありがとう! – RodeoClown
また、ラベルのセンタリングなどは、スパークボタンのスキンに付属しているものですが、私はそれらにまだ触れていませんでした:) – RodeoClown