我有一个 PieChart……现在我也开始支持平板电脑,我需要使图例的 fontSize 更大。但是,以下内容无效:
<mx:Legend dataProvider="{industryChart}"
height="110" bottom="40"
height.groupTablets="220" bottom.groupTablets="80"
fontSize="8" fontSize.groupTablets="16"
markerHeight="10" markerHeight.groupTablets="20"
verticalGap="3"
/>
我知道状态是正确的,因为其他属性发生了变化。
我还尝试添加样式部分:
<fx:Style>
.legend {
fontSize:24;
}
</fx:Style>
<mx:Legend dataProvider="{industryChart}"
height="110" bottom="40"
height.groupTablets="220" bottom.groupTablets="80"
markerHeight="10" markerHeight.groupTablets="20"
verticalGap="3"
styleName="legend"
/>
不用找了。如果我将样式移到 Main.css,它也不起作用。
使用它会发出警告:组件中不支持 CSS 类型选择器:“mx.charts.LegendItem”:
<fx:Style>
@namespace mx "library://ns.adobe.com/flex/mx";
mx|LegendItem {
fontSize:24;
}
</fx:Style>
但是,如果我在 Main.css 中放入相同的内容,它确实有效:
@namespace mx "library://ns.adobe.com/flex/mx";
mx|LegendItem {
fontSize:24;
}
我遇到的问题是我必须能够在平板电脑状态下使字体更大,而不仅仅是针对所有状态,否则手机上的字体会太大。
伪选择器似乎不起作用:
mx|LegendItem:groupTablets {
fontSize:24;
}
在 Main.cc 或 fx:Style 中,ID 不起作用:
#pieLegend {
fontSize:24;
}
<mx:Legend id="pieLegend"
dataProvider="{industryChart}"
height="110" bottom="40"
height.groupTablets="220" bottom.groupTablets="80"
markerHeight="10" markerHeight.groupTablets="20"
verticalGap="3"
/>
但是,即使这种方法有效,当 mxml 背后的代码需要通过 id 引用特定组件时也会遇到困难。
我什至感到沮丧并在代码中尝试了这个:
pieLegend.setStyle("fontSize", 24);
没有。呸呸呸。
有任何想法吗?