在学习Flex的过程中,你可能会遇到Flex中设置Flex滚动条的样式方面的问题,这里和大家分享一下,在Flex中,简单的修改控件的外观可以使用样式(Style)和皮肤(skin),这里修改滚动的外观也是如此.
Flex中设置Flex滚动条的样式
在Flex中使用容器的时候,经常会遇到出现Flex滚动条的情况,虽然官方提示的Flex滚动条外观已经非常漂亮,但有个时候我们还是会有种修改Flex滚动条外观的冲动,让我们的程序看起来更和谐些。
在Flex中,简单的修改控件的外观可以使用样式(Style)和皮肤(skin),这里修改滚动的外观也是如此.首先先来比较下修改前后的Flex滚动条样式(以横向Flex滚动条为例).
虽然我更改后的样式没有自带的漂亮,但是相信你一定可以把它弄的比较漂亮.以上自定义是通过以下代码实现的(代码写在外部的CSS文件中,如main.css中).
- 1.
- 2.HScrollBar{
- 3.downArrowUpSkin:
- 4.Embed(source=”/assets/downArrow.png”);
- 5.downArrowOverSkin:
- 6.Embed(source=”/assets/downArrow.png”);
- 7.downArrowDownSkin:
- 8.Embed(source=”/assets/downArrow.png”);
- 9.upArrowUpSkin:
- 10.Embed(source=”/assets/upArrow.png”);
- 11.upArrowOverSkin:
- 12.Embed(source=”/assets/upArrow.png”);
- 13.upArrowDownSkin:
- 14.Embed(source=”/assets/upArrow.png”);
- 15.thumbDownSkin:
- 16.Embed(source=”/assets/thumb.png”,
- 17.scaleGridLeft=”7″,scaleGridTop=”5″,
- 18.scaleGridRight=”8″,scaleGridBottom=”7″);
- 19.thumbUpSkin:
- 20.Embed(source=”/assets/thumb.png”,
- 21.scaleGridLeft=”7″,scaleGridTop=”5″,
- 22.scaleGridRight=”8″,scaleGridBottom=”7″);
- 23.thumbOverSkin:
- 24.Embed(source=”/assets/thumb.png”,
- 25.scaleGridLeft=”7″,scaleGridTop=”5″,
- 26.scaleGridRight=”8″,scaleGridBottom=”7″);
- 27.trackSkin:
- 28.Embed(source=”/assets/scrolltrack.png”,
- 29.scaleGridLeft=”7″,scaleGridTop=”4″,
- 30.scaleGridRight=”8″,scaleGridBottom=”6″);
- 31.}
以上CSS的代码都比较简单明了,只是thumbDownSkin,thumbUpSkin,thumbOverSkin,trackSkin四个中的后面4个属性(scaleGridLeft,scaleGridTop,scaleGridRight,scaleGridBottom)比较怪怪,一开始我也不懂是啥意思.Google了一下,原来是一个叫Scale-9的东西.简单的说,就是当图片拉伸的时候,只会对设置的格子之间的部分进行拉伸(横向拉伸时只对X坐标之间的部分位伸,纵向位伸时只对Y坐标之间的部分位伸),如上面的thumbUpSkin,横向拉伸时,会对X坐标为7,8之间的部分拉伸,纵向拉伸时,会对Y坐标为5,7之间的部分位伸,其它部分(只剩下四个角了)还是会等比例显示.这个鬼东西对像这样的Flex滚动条,或者在拉伸那种圆角矩形时,非常有用.
【编辑推荐】