よりきめ細かい方法は、各子に CSS を追加することですが、これはメンテナンスと可読性の悪夢です。
<mx:List dataProvider="{companies}" dropShadowEnabled="true" paddingTop="10" paddingBottom="10" paddingRight="5" paddingLeft="15" backgroundColor="0xDFE8FF"/>
それぞれの子を Class として作成し、CSS を各 Class ファイルに追加する方法は、より細分化された方法ですが、それでも素晴らしい方法ではありません。
マスター CSS で子コンポーネントの各タイプ (List、ComboBox、Button など) のスタイルを設定することもできます。
List {
dropShadowEnabled: true;
paddingTop: 10;
}
ただし、同じタイプのコンポーネントに対して異なるスタイルを使用する場合は、いくつかのオプションがあります。
各子に styleName を与えてから、マスター CSS でスタイルを設定できます。
CustomerSelectionForm.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Form xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:List styleName="customerList" dataProvider="{customers}" />
</mx:Form>
CompanySelectionForm.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Form xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:List styleName="companyList" dataProvider="{companies}" />
</mx:Form>
styles.css:
.customerList {
backgroundColor: "0xDFE8FF";
}
.companyList {
backgroundColor: "0x74ADE7";
}
または、各子をカスタム クラスとして作成し、そのクラスをマスター CSS で参照することもできます。
CustomerList.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:List xmlns:mx="http://www.adobe.com/2006/mxml">
</mx:List>
CompanyList.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:List xmlns:mx="http://www.adobe.com/2006/mxml">
</mx:List>
styles.css:
CustomerList {
backgroundColor: "0xDFE8FF";
}
CompanyList {
backgroundColor: "0x74ADE7";
}
この方法は、コンポーネントを動的に構築する場合、または特定のタイプのコンポーネントを再利用する場合に特に役立ちます。特に、これらのカスタム クラスにはクラス固有のビジネス ロジックも含めることができるため、私はこの方法をよく使用します。