Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
Adobe Flex SDK Previous
-
None
-
None
-
Affected OS(s): Windows
Affected OS(s): Windows XP
Browser: Firefox 3.x
Language Found: Japanese
Description
Steps to reproduce:
1.mx:VBox または mx:HBox (以下、「ボックス」) をサイズを指定してデフォルトのコンテナに配置する。(ピクセル単位、パーセンテージのどちらでも良い。)
2.配置したボックスの中に mx:ButtonBar を配置し、パーセンテージでサイズを指定し配置する。
3.ビルドして動作を確認する。
Actual Results:
ボックスのサイズをピクセル単位で指定した場合、
ボックスは指定したサイズになりますが、mx:ButtonBar は自分自身にサイズの指定をしていないときと同じサイズになります。
そのため、mx:ButtonBar に表示する項目が多いと mx:Buttonbar ははみ出てしまい、ボックスはスクロールバーを表示します。
また、ボックスのサイズをパーセンテージで指定した場合、
mx:ButtonBar はボックスのサイズをピクセル単位で指定した時と同じく、自分自身にサイズの指定をしていないときと同じサイズになりますが、
それにしたがって、ボックスのサイズが変更されてしまいます。
Expected Results:
mx:ButtonBar はボックスの大きさに従ってサイズを調節する。
たとえば、サイズが100px でパディングが 0px のボックスの中に、サイズが 100% の mx:ButtonBar を配置した場合、
mx:ButtonBar のサイズはボックスと同じサイズの 100px となる。
また、mx:ButtonBar の影響で、ボックス自身が指定したサイズ以外にボックスが伸縮しない。
(つまり、ボックスが幅だけを指定しているのであれば、ボックスは指定以外の幅取る事が無いし、高さだけ指定していれば、ボックスは指定以外の高さを取る事が無い。)
(さらに言うと、幅高さ共に指定した場合は、幅高さ共に指定以外のサイズを取る事が無い。)
Workaround (if any):
- ボックスにidをつけ、mx:ButtonBar はボックスのサイズとバインドする。
(たとえば、ボックスに foo という id を付け、mx:ButtonBar の width は {foo.width}、height は
{foo.height}を指定する。)
- 可能であれば、mx:VBox や mx:HBox 以外のコンテナを使用する。
Notes
テスト用のコード(TestCases.xml)と生成した swf(TestCases.swf)、必要な RSL を zip 形式でアーカイブしたものを添付してあります。
アーカイブ内にある TestCases.swf はローカル環境でのみ有効です。