這是事情。當我發現某些SkinnableContainer的內容變得比內容更大時,即使它們有0填充並且它們內部的佈局是BasicLayout(即「全手動」佈局),我使用純AS3來做一些Flex組件的特殊自動佈局)。柔性容器過長,重疊其他元素
下面是截圖和代碼。這個小測試創建一個應用程序並將佈局設置爲HorizontalLayout。然後,在應用程序容器中,我創建了兩個SkinnableContainer,每個SkinnableContainer都包含一個帶有一些文本的Label。我將SkinnableContainers設置爲最大寬度爲150px,並且其中的標籤具有其父母的100%寬度。
截圖
Main.mxml
<?xml version="1.0" encoding="utf-8"?>
<local:MainApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:local="*"/>
MainApplication.as
package {
import flash.events.Event;
import spark.components.Application;
import spark.components.SkinnableContainer;
import spark.components.Label;
import spark.layouts.HorizontalLayout;
import spark.layouts.BasicLayout;
public class MainApplication extends Application {
public function MainApplication() {
super();
var hl : HorizontalLayout = new HorizontalLayout();
hl.gap = 0;
hl.paddingTop = 0;
hl.paddingLeft = 0;
hl.paddingRight = 0;
hl.paddingBottom = 0;
this.layout = hl;
var leftBlock : SkinnableContainer = myNewContainer(0xFF0000);
var rightBlock : SkinnableContainer = myNewContainer(0x00FF00);;
var leftLabel : Label = myNewLabel("oranges blackberries bananas kiwis plums apples");
var rightLabel : Label = myNewLabel("apricots peaches lemons pineapples");
leftBlock.addElement(leftLabel);
rightBlock.addElement(rightLabel);
this.addElement(leftBlock);
this.addElement(rightBlock);
}
private function myNewContainer(backColor : Number) : SkinnableContainer {
var container : SkinnableContainer = new SkinnableContainer();
container.layout = new BasicLayout();
container.maxWidth = 150;
container.explicitWidth = 150;
container.opaqueBackground = backColor;
return container;
}
private function myNewLabel(text : String) : Label {
var myLabel : Label = new Label();
myLabel.text = text;
myLabel.percentWidth = 100;
myLabel.setStyle("color", 0xFFFFFF);
myLabel.setStyle("backgroundColor", 0x000000);
return myLabel;
}
}
}
在我看來像SkinnableContainers(紅色和綠色的背景)不關心我應用於t的maxWidth = 150;
下襬,但標籤(黑色背景上的白色文字)尊重這一點。我期待只看到標籤,沒有任何過度的紅色或綠色背景。是否有一些填充?我錯過了什麼?
這確實解決了它。另外,謝謝你的解釋!現在它變得更有意義。 – CamilB 2012-04-24 18:38:31
另外,感謝您修復屏幕截圖......我仍然在這裏學習。 – CamilB 2012-04-25 06:42:03