Flex 3快速入门: 构建高级用户界面 设置组件的皮肤

本文来自:http://www.airia.cn/FLEX_Directory/programmatic/

设置皮肤是通过修改或替换的可视元素来更改组件的外观。 这些元素可以是图像,SWF文件或包含绘图 API 方法的类文件组成。Skins定义组件的部分或整个过程的视觉效果。 例如,一个 Button 控件有很多外观表现按钮的状态。 使用 downSkin,upSkin 和 overSkin 样式属性分别定义:鼠标离开时、正常时、当鼠标移动至其上时。

有几种方法来定义外观:
 
在内部通过使用 setStyle() 方法
使用样式表 (CSS)。

本节中会分别演示这些方法。


你可以通过两种方式设置FLEX组件皮肤

图形设置皮肤

编程设置皮肤

 

图形设置皮肤


图形设置皮肤,在Flex 应用程序中嵌入图像文件。 然后,可以使用这些文件来替换组件的现有的外观。

使用图形设置皮肤的主要优点是设计者可以各种可视化工具,例如使用  Photoshop、Fireworks 来创建组件的外观,允许设计者不懂得ActionScript方面的知识。

但是使用图形设置皮肤会比编程设置皮肤占用更高的内存,因为最终需要将外部图像或者是SWF文件嵌入到FLEX的SWF文件中。

提示: 如果更改一个或多个外观图形文件,您必须重新编译 Flex 应用程序才可以生效。


FLEX包装在类中嵌入图像。因此,将外观应用样式属性时,应认为每个皮肤作为一个类。如果您设置 Button 控件(例如以"myimage.jpg")upSkin 属性值,那么要更改当前

皮肤类到新类。


下面的示例使用 CSS 选择器设置 upSkin,overSkin 和 downSkin 样式属性,所有的Button 控件,使用外部 PNG 图像。


代码

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    viewSourceURL="src/SkinningGraphical1/index.html"
    layout="horizontal" width="270" height="100"

    horizontalAlign="center" verticalAlign="middle"
>

    <mx:Style>
        Button
        {
            upSkin: Embed("assets/box_closed.png");

            overSkin: Embed("assets/box.png");
            downSkin: Embed("assets/box_new.png");

        }
    </mx:Style>
   
    <mx:Button/>
   
    <mx:Text text="Roll over and click the box!"/>

</mx:Application>


结果

 

右键“View Source ”查看源码

 

图形设置皮肤和9-slice 缩放


使用图形设置皮肤有一个缺点,如果你调整组件大小他们可能会扭曲变形。这个时候可以使用9-slice切片缩放技术来避免因调整组件大小而产生扭曲。

使用 9-slice切片缩放功能,图像的的四个角并不全部缩放,水平的边框比例仅在水平的方向,垂直边框比例仅在垂直方向。


此示例在 CSS 中使用 scaleGridTop,scaleGridBottom,scaleGridLeft 和scaleGridRight 的网格线位置属性定义 VBox 组件的背景图像的缩放 9 片网格。该示例的第二个区域是不使用 9 片缩放嵌入的背景图像的效果。


代码

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    viewSourceURL="src/SkinningGraphical2/index.html"

    layout="vertical" width="525" height="500"
>   
    <mx:Style>
        .nineSliceScalingBackground
        {

            background-image: Embed("assets/fancy_background.png",
                scaleGridTop="55", scaleGridBottom="137",
                scaleGridLeft="57", scaleGridRight="266");

            background-size:"100%";           
        }

        .nonNineSliceScalingBackground
        {
           
            background-image:Embed("assets/fancy_background.png");

            background-size:"100%";
        }       

        VBox
        {
            padding-bottom:50;
            padding-top:50;
            padding-left:60;
            padding-right:60;

        }
    </mx:Style>

    <mx:VBox styleName="nineSliceScalingBackground" width="100%"

height="50%">

        <mx:Text
            width="100%"
            text="This VBox has a graphical 9-slice scaling background skin

that stretches to fill the background.{&apos;/r/r&apos;}Notice how the

corners do not scale. You can also use a preset padding value to offset your

content so it appears inside the borders of the background image."
        />

    </mx:VBox>

    <mx:VBox styleName="nonNineSliceScalingBackground" width="100%"

height="50%">
        <mx:Text
            width="100%"
            text="This VBox, on the other hand, does not use 9-slice scaling

for its background image. Notice how the image is uniformly scaled, resulting

in aliasing. {&apos;/r/r&apos;}Also, notice how this text overlaps the

background as the corners do not have fixed dimensions that we can compensate

for by using padding."
        />
    </mx:VBox>
   
</mx:Application>

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值