Flex中Tree控件基本用法

[img]http://hiphotos.baidu.com/flute0316/pic/item/103de71683314e0f972b43ec.jpg[/img]
主要实现了以XML为数据源将其绑定Tree控件上, 添加, 修改结点. 根据属性设置结点的图标. 设置Tree控件的水平滚动条等.

其实也挺简单的, 只是我这几天在学习Flex过程中, 感觉好资料比较少. 一个<<Flex_QuickStart.pdf>很好, 但是很快就看完了, 对Flex有了一个基本的了解, 但是离我们的技术需求还太远.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
// 图标的相对地址 // 注意: 文件夹之间一定要用"/"分隔,而不能用"\"分隔!
[Embed(source="flexQQIcon/boy.gif")]
[Bindable]
public var boyIcon:Class;

[Embed(source="flexQQIcon/girl.gif")]
[Bindable]
public var girlIcon:Class;

// 根据结点的属性设置节点图标
private function SetIcon(item:Object):*
{
var xml:XML = item as XML;

if(xml.attribute("sex")=="男")
{
return boyIcon;
}
else
{
return girlIcon;
}
}

// Tree控件的数据源
[Bindable]
public var jpXml:XML=
<member jpname="祖先" sex="男">
<member jpname="胡迪" sex="男">
</member>
<member jpname="胡俊" sex="男">
</member>
<member jpname="胡三" sex="女">
</member>
</member>

public function AddMember():void
{
var newMember:XML =
<member jpname="胡易衡" sex="男">
</member>

在根结点的第一个子结点前面加一个子第一个子结点
//jpXml.appendChild(newMember);
在根结点的最后一个子结点前面加一个子第一个子结点
//jpXml.prependChild(newMember);

// 给结点添加一个子结点 // 添加子女
jpXml.member.(@jpname=="胡俊").appendChild(newMember);

// 给结点添加一个兄弟结点 // 先找到该结点父结点,然后添加给该父结点添加子结点
//jpXml.member.(@jpname=="胡俊").parent().appendChild(newMember);

// 修改结点的值
//jpXml.member.(@jpname=="胡俊").@jpname="姓名修改";
txrXml.text= jpXml.member.(@jpname=="胡俊").@jpname; // 用于测试
}
]]>
</mx:Script>


<mx:Tree x="27" y="81" width="107" height="300" id="treeXml"
dataProvider="{jpXml}" labelField="@jpname" showDataTips="true"
iconFunction="SetIcon" horizontalScrollPolicy="on"></mx:Tree>
<mx:Button x="65" y="40" label="Button" id="btnXml" click="AddMember()" />
<mx:TextArea x="151" y="83" width="258" height="237" id="txrXml"/>

</mx:Application>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flexbox(Flexible Box)是CSS3引入的一种新的布局模型,其基本思想是为了创建灵活、响应式的网页布局。它的主要目标是在容器内根据可用空间动态调整元素的位置和大小,即使在不同设备或窗口尺寸下也能保持良好的视觉效果。 Flexbox布局的基本思想包括以下几个关键概念: 1. **主轴(main axis)和交叉轴(cross axis)**:默认情况下,主轴是从左到右,交叉轴则是从上到下。可以通过`flex-direction`属性更改这两个方向。 2. **弹性容器(flex container)**:使用`display: flex`或`display: inline-flex`设置的元素将成为弹性容器,管理其内的子元素。 3. **弹性项目(flex items)**:弹性容器的每个元素都是弹性项目,它们可以沿着主轴和交叉轴进行伸缩。 4. **弹性基础属性**: - `flex-grow`:项目如何扩展以填充可用空间,默认为0,表示不扩展。 - `flex-shrink`:项目在空间不足时如何缩小,默认为1,表示会缩小。 - `flex-basis`:项目的初始大小,可以是一个固定的值或计算值。 5. **对齐方式**:使用`justify-content`, `align-items`, 和 `align-self` 属性制项目在容器的对齐方式。 6. **顺序和交叉轴对齐**:通过`order`属性制项目在主轴上的顺序,`align-content` 制交叉轴的对齐。 了解了这些基本概念后,开发者可以根据需要轻松地调整元素的布局,实现响应式设计。如果你对某个具体的概念感兴趣,或者想深入了解如何在实际项目应用,请告诉我,我会进一步解释。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值