如何使用 Apache Royale 设置按钮样式
How to style Button with Apache Royale
使用 apache-royale-0.9.6-bin-js\royale-asjs\examples
中的示例,我尝试更改按钮的背景或字体颜色。
所以,我找到了一个如何为 js|TextButton
使用样式的示例,但我问了自己几个问题:
1) 如何用 j|Button
做同样的事情?
2) 如果我想在 clic 上更改 j|Button
的颜色怎么办(搜索 'setStyle' 等效项)
完整代码如下:
<js:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:j="library://ns.apache.org/royale/jewel" >
<fx:Style>
@namespace j "library://ns.apache.org/royale/jewel";
@namespace js "library://ns.apache.org/royale/basic";
j|Button {
color : #ffA3EE ; /*Has no effect, not sure I do the right things*/
}
js|TextButton {
background-color: #fc0000;
border-radius : 6px ;
font-weight : normal ;
line-height : 1.4 ;
color : #ffA3EE ;
font-size : 15px ;
padding : 5px ;
}
js|TextButton:hover {
background-color: #CFCFCF;
vertical-align: middle;
border: none;
border-radius: 6px;
}
js|TextButton:active {
background-color: #77CEFF;
color: #FFFFFF;
}
</fx:Style>
<fx:Script>
<![CDATA[
private function ev_clic_jbutton():void{
//jbutton.setStyle("color",0x00ff00); // How to do to change color ?
}
]]>
</fx:Script>
<js:valuesImpl>
<js:SimpleCSSValuesImpl />
</js:valuesImpl>
<js:beads>
<js:ApplicationDataBinding />
</js:beads>
<js:initialView>
<js:View width="100" height="100" >
<j:HGroup gap="10">
<j:Button id="jbutton" click="ev_clic_jbutton()" text="J Button" width="100" height="100"/>
<js:TextButton text="JS TextButton" width="100" height="100"/>
</j:HGroup>
</js:View>
</js:initialView>
</js:Application>
此致
对于 Jewel,样式是通过 CSS 修改的。选择器使用以下格式:.jewel.<component-name>
。在 Jewel Button
的情况下,使用以下立即影响 all 个珠宝按钮并将文本标签的颜色更改为红色:
<fx:Style>
.jewel.button
{
color: #ff0000;
}
</fx:Style>
(您也可以在外部 CSS 文件中添加此选择器,而不是在 MXML 或 AS3 中)
编译器将输出此选择器规则而不是 Jewel 主题中的规则,因为您的项目优先。
仅更改一个实例:
.jewel.button.mystyle
{
color: #00ff00;
}
并使用它:
<j:Button text="A Button" className="mystyle"/>
上一个按钮会将文本标签的颜色更改为绿色。
此外,您可以像以前一样使用 j|Button
在运行时更改或添加珠子 (IBead
)
对于基本组件,所有组件都是通过 js|Button
、珠子和 CSS 样式完成的。
使用 apache-royale-0.9.6-bin-js\royale-asjs\examples
中的示例,我尝试更改按钮的背景或字体颜色。
所以,我找到了一个如何为 js|TextButton
使用样式的示例,但我问了自己几个问题:
1) 如何用 j|Button
做同样的事情?
2) 如果我想在 clic 上更改 j|Button
的颜色怎么办(搜索 'setStyle' 等效项)
完整代码如下:
<js:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:js="library://ns.apache.org/royale/basic"
xmlns:j="library://ns.apache.org/royale/jewel" >
<fx:Style>
@namespace j "library://ns.apache.org/royale/jewel";
@namespace js "library://ns.apache.org/royale/basic";
j|Button {
color : #ffA3EE ; /*Has no effect, not sure I do the right things*/
}
js|TextButton {
background-color: #fc0000;
border-radius : 6px ;
font-weight : normal ;
line-height : 1.4 ;
color : #ffA3EE ;
font-size : 15px ;
padding : 5px ;
}
js|TextButton:hover {
background-color: #CFCFCF;
vertical-align: middle;
border: none;
border-radius: 6px;
}
js|TextButton:active {
background-color: #77CEFF;
color: #FFFFFF;
}
</fx:Style>
<fx:Script>
<![CDATA[
private function ev_clic_jbutton():void{
//jbutton.setStyle("color",0x00ff00); // How to do to change color ?
}
]]>
</fx:Script>
<js:valuesImpl>
<js:SimpleCSSValuesImpl />
</js:valuesImpl>
<js:beads>
<js:ApplicationDataBinding />
</js:beads>
<js:initialView>
<js:View width="100" height="100" >
<j:HGroup gap="10">
<j:Button id="jbutton" click="ev_clic_jbutton()" text="J Button" width="100" height="100"/>
<js:TextButton text="JS TextButton" width="100" height="100"/>
</j:HGroup>
</js:View>
</js:initialView>
</js:Application>
此致
对于 Jewel,样式是通过 CSS 修改的。选择器使用以下格式:.jewel.<component-name>
。在 Jewel Button
的情况下,使用以下立即影响 all 个珠宝按钮并将文本标签的颜色更改为红色:
<fx:Style>
.jewel.button
{
color: #ff0000;
}
</fx:Style>
(您也可以在外部 CSS 文件中添加此选择器,而不是在 MXML 或 AS3 中)
编译器将输出此选择器规则而不是 Jewel 主题中的规则,因为您的项目优先。
仅更改一个实例:
.jewel.button.mystyle
{
color: #00ff00;
}
并使用它:
<j:Button text="A Button" className="mystyle"/>
上一个按钮会将文本标签的颜色更改为绿色。
此外,您可以像以前一样使用 j|Button
在运行时更改或添加珠子 (IBead
)
对于基本组件,所有组件都是通过 js|Button
、珠子和 CSS 样式完成的。