Feathers基于Starling学习笔记
来源:互联网 发布:上载数据拓普康全站仪 编辑:程序博客网 时间:2024/05/16 01:32
1.starling textfield 水平、垂直对齐方式设置:
tf.vAlign = VAlign.TOP;
tf.hAlign = HAlign.LEFT;
2、feathers的textInput是一个starling对象,但是它里边的TextField是flash.text.TextField的。
所以就算你把它放到其它Starling显示对象的下面,文字还是不会在下面的
但这个TextField会随着textInput的移动而移动
3、feathers的Panel是一个可以设置标题、布局的,带滚动条的面板。
设置标题:panel.headerProperties.title = "Is it time to party?";
设置布局:var layout:VerticalLayout = new VerticalLayout();
layout.gap = 20;
layout.padding = 20;
panel.layout = layout;
4、Panel--〉ScrollContainer--〉Scroller--〉FeathersControl--〉starling.display.Sprite
5、Panel不启用水平滚动条:panel.horizontalScrollPolicy = Panel.SCROLL_POLICY_OFF;
Panel.SCROLL_POLICY_AUTO和Panel.SCROLL_POLICY_ON:启用
6、panel.scrollBarDisplayMode = Panel.SCROLL_BAR_DISPLAY_MODE_FIXED;一直显示滚动条
panel.scrollBarDisplayMode = SCROLL_BAR_DISPLAY_MODE_FLOAT;拖动的时候才显示滚动条
panel.scrollBarDisplayMode = SCROLL_BAR_DISPLAY_MODE_NONE不显示滚动条,但仍可以拖动
7、想使用滚动条,用ScrollContainer就可以了,没有必要用Panel,Panel只是加了标题标尾的功能
8、panel滚动条是不可以拖动的,可能拖动里面的内容。滚动条滚动方向和手势方向相反。适合在手机上用
ScrollContainer则和网页上的普通滚动条一样
9.ScrollContainer的滚动条不会超出你设置的width
10、
设置label的属性:
container.addChild(label);
label.textRendererProperties.textFormat = new TextFormat( "宋体", 20, 0xff0000 );
label.text = "I am the feathers label!"
当Feathers的Label被添加到舞台上的时候会对Label进行默认的字体设置,啊哦----所以大家都明白是怎么回事了吧,把顺序换一下就可以起作用了
label.textRendererProperties.textFormat,.textFormat其实是label类里textRenderer实例的属性:
const factory:Function = this._textRendererFactory != null ? this._textRendererFactory : FeathersControl.defaultTextRendererFactory;
this.textRenderer = ITextRenderer(factory());
==================
1.由于aeonDesktopTheme主题中有代码:
protected static function textRendererFactory():ITextRenderer
{
return new TextFieldTextRenderer();
}
所以调用label.textRendererProperties=……后最终会调用label.refreshTextRendererStyles
最终会设置textRenderer的属性(textRenderer即TextFieldTextRenderer),从而达到改变label文字属性的作用
2、thickness 厚度
measure 测量
3、feathers的label设置HTML格式字体:starling的textField不支持HTML格式
label.text="<font color='#ff0000' size='20'>I am the feathers label!</font>";
label.textRendererProperties.isHTML = true;
4、label.textRendererProperties.wordWrap = true;让文本自动换行
label.textRendererProperties.background = true;显示文本背景
label.textRendererProperties.border = true;显示边框
label.textRendererProperties.displayAsPassword = true;作为密码文本
5、ScrollText是一个自带滚动条的文本组件。它的textfield不是starling的,所以会一直在starling显示对象的下面。label的textfield默认是starling的
6、textinput适合单行输入,textarea自带滚动条适合多行输入
7、buttonGroup.buttonFactory可以设置ButtonGroup中生成的按钮,但类型只能是Button
buttonGroup.buttonInitializer = function(btn:Button,data:Object):void{
btn.width = 200;
};可以对每个按钮在初始化时进行一些操作
8、ButtonGroup使用buttonFactory后,就不能在dataProvider的数据中设置triggered点击事件响应函数了
9、PageIndicator是一个单纯的页数显示的控件
pageIndicator.pageCount = 3;
pageIndicator.selectedIndex = 2;//显示当前是第3页。从0开始
pageIndicator.normalSymbolFactory设置页码未被选中的显示对象
pageIndicator.selectedSymbolFactory设置页码已被选中的显示对象
10、pickerList就是一个 combobox:下拉选择菜单
11、PickerList是由一个有特殊皮肤的Button+List组成,List的弹出由DropDownPopUpContentManager弹出
12、更换一个按钮皮肤:
var btn:Button = new Button();
btn.nameList.add(NumericStepper.DEFAULT_CHILD_NAME_INCREMENT_BUTTON);
container.addChild(btn);
13、自定义一个按钮皮肤:
(1)_theme.setInitializerForClass( Button, myCustomButtonInitializer, "my-custom-button" ;
private function myCustomButtonInitializer( button:Button ):void
{
button.defaultSkin = new Image( upTexture );
button.downSkin = new Image( downTexture );
button.hoverSkin = new Image( hoverTexture );
button.defaultLabelProperties.textFormat = new TextFormat( "fontName", 18, 0xffffff );
}
(2)var btn:Button = new Button();
btn.nameList.add("my-custom-button");
container.addChild(btn);
14、和starling的image一样,feathers的imageloader上存在一个 color 属性值得大家记住,该属性允许你为一个图片指定一个颜
色值。在 Image 对象中,每个像素的颜色值都是由其纹理的颜色值和你指定的 color 颜色值
混合的结果。
15、在函数内部写侦听函数时,要注意先定义函数数再侦听,否则为空
16、当你用一个imageLoader作为一个Button的皮肤时,只有此按钮的状态对应,才会去加载这个图片
17、starling.textures.RenderTexture API 允许开发者在 Starling 中实现无损绘画功能
mRenderTexture = new RenderTexture(stage.stageWidth, stage.stageHeight);
var canvas:Image = new Image(mRenderTexture);
addChild(canvas);
mRenderTexture.draw(DisplayObject);
18、当自定义按钮皮肤时,myCustomButtonInitializer函数里,btn.defaultSkin不能=imgageLoader。因为这样的话,会导致鼠标移上去不会切换到hover状态,只能用一个已存在的图片。
各种状态也是不能用未完成加载的imgageLoader
19、Callout 的使用:
Callout 是在一个目标显示对象的周围弹出一个自定义的显示对象,但它的弹出位置只是固定上下左右,不会随着鼠标动而动
btn.addEventListener(TouchEvent.TOUCH,function(e:Event):void{
var callout:Callout = Callout.show(tip,btn);
callout.disposeContent = false;// 不写这句,弹出一次第二次就不见了
});
文章转自
- Feathers基于Starling学习笔记
- Feathers基于Starling的组件学习笔记(二)
- Feathers基于Starling的组件研究笔记(三)
- 分享基于Flash AIR和Starling、Feathers的经验积累
- Starling Feathers Controls Alert
- Starling Feathers Controls Button
- Starling Feathers Controls ButtonGroup
- Starling Feathers Controls Callout
- Starling Feathers Controls Check
- Starling Feathers Controls Drawers
- Starling Feathers Controls GroupedList
- Starling Feathers Controls Header
- Starling Feathers Controls ImageLoader
- Starling Feathers Controls Label
- Starling Feathers Controls LayoutGroup
- Starling Feathers Controls List
- Starling Feathers Controls NumericStepper
- Starling Feathers Controls PageIndicator
- open(const char [10], int)’的调用没有匹配的函数
- .NET Framework 工程Target framework配置问题
- 几种EBS克隆的方式
- 五大基础算法(枚举、递归、分治、贪心、模拟)
- MP3解码之哈夫曼解码快速算法
- Feathers基于Starling学习笔记
- 外敌重重自绊自脚?HTML5普及的血泪史
- Java多线程与并发库高级应用之线程池
- 关于bbs项目中小技巧
- Clojure 学习
- 面试10大算法汇总
- Feathers基于Starling的组件学习笔记(二)
- 专业发展路线
- 数的变换操作(Baidu的一道)