PDA

Просмотр полной версии : скинизация наследников List


shaman4d
19.03.2010, 19:06
Код не работает, комбобокс не реагирует на стиль. Как полечить?

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
<mx:Style>
List
{
alternating-item-colors:#ff0000,#00ff00;
}
ComboBox
{
alternating-item-colors:#ffff00,#ffff11;

}
</mx:Style>

<mx:List width="100" height="200">
<mx:dataProvider>
<mx:Array>
<mx:Object label="1" />
<mx:Object label="1" />
<mx:Object label="1" />
<mx:Object label="1" />
<mx:Object label="1" />
</mx:Array>
</mx:dataProvider>
</mx:List>
<mx:ComboBox>
<mx:dataProvider>
<mx:Array>
<mx:Object label="1" />
<mx:Object label="1" />
<mx:Object label="1" />
<mx:Object label="1" />
<mx:Object label="1" />
</mx:Array>
</mx:dataProvider>
</mx:ComboBox>
</mx:Application>

flaM
20.03.2010, 09:49
У меня штатно перекрасилось. Стоит SDK 3.4.1.

bastrakov
24.03.2010, 10:42
пример работает правильно. во

shaman4d
29.03.2010, 14:25
Да он не правильно работает. Комбобокс раскрашивается теми же цветами что и Лист, хотя в стиле укомбобокса указаны другие цвета.

ShockWave512
30.03.2010, 01:28
да есть такой баг, flex 3.5.x

вот в таком виде отлично пашет

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:Style>
.ListC {
alternating-item-colors: #ff0000, #00ff00;
}

.ComboBoxC {
alternating-item-colors: #ffff00, #00ffFF;
}
</mx:Style>

<mx:List width="100" height="200" styleName="ListC">
<mx:dataProvider>
<mx:Array>
<mx:Object label="1" />
<mx:Object label="1" />
<mx:Object label="1" />
<mx:Object label="1" />
<mx:Object label="1" />
</mx:Array>
</mx:dataProvider>
</mx:List>

<mx:ComboBox styleName="ComboBoxC">
<mx:dataProvider>
<mx:Array>
<mx:Object label="1" />
<mx:Object label="1" />
<mx:Object label="1" />
<mx:Object label="1" />
<mx:Object label="1" />
</mx:Array>
</mx:dataProvider>
</mx:ComboBox>

</mx:Application>

shaman4d
30.03.2010, 13:19
да есть такой баг, flex 3.5.x

вот в таком виде отлично пашет

Да только нужно чтобы стиль был задан для List а не кастомный для отдельного листа. В проекте очень много листов и назначать вручную каждому не получиться.

ShockWave512
30.03.2010, 13:45
почему это для отдельного?, применяй хоть к миллиону

shaman4d
30.03.2010, 13:49
Для того чтобы применить к миллиону, я у каждого из этого миллиона должен написать styleName='ListC' .

ShockWave512
30.03.2010, 14:29
или один раз создать свой компонент на основе ComboBox
или лист
таким изгибом

shaman4d
30.03.2010, 14:34
Я так понимаю, что просто CSS решить нельзя (с условием что для List используется глобальная декларация) ?

ShockWave512
30.03.2010, 15:24
не знаю, баг есть, поищи, может есть решения
попробуй варианты

- вынеси css в отдельный файл
- поменять местами
- грузить css уже скомпиленый
- отдельный компонент (уже предлагал) внутри него свой сss запилить

кстати возможно это не баг
List есть в ComboBox-e при выпадении, вот он и подхватывает стиль
логично ...