`
happyday
  • 浏览: 20247 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Flex容器

阅读更多

   Flex提供的容器,主要实现容纳其他的控件或者是容器,以达到美化页面和布局的目的,这种容器,很类似于java所提供的布局管理器,实现对应用程序的布局。

  

  在Flex中,所提供的容器很多,每个容器都有相应的使用规则,常见的有两种,布局容器和导航容器

 

 1 布局容器

 

   Hbox: 其内的每一个控件或容器只能按照水平的顺序排列

  

   Vbox: 其内的每一个控件或容器只能按照垂直的顺序排列

   

   panel :是一个具有标题和边框等的容器,常常用来容纳其他的容器

  

  HDividedBox HDividedBox容器对子组件进行水平布局, 除了在子级之间插入一个可调整的分割线之外, 它与 HBox 容器很相似。 VDividedBox 容器对子组件进行垂直布局, 而且也在子级之间插入一个可调整的分割线。

  Tile Tile容器以多行或多列的形式排列其子级。

  

   Form Form容器以标准的表单格式排列其子级。

  

     ApplicationControlBar ApplicationControlBar 容器容纳提供全局导航和应用程序命令的组件, 并可以停靠在 Application 容器的上边缘。

  

 ControlBar ControlBar 容器将控件置于 Panel 或 TitleWindow 容器的下边缘。

 

综合例子:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="480" height="320">
<mx:ApplicationControlBar dock="true">
<mx:Label text="ApplicationControlBar" fontWeight="bold" fontSize="12"/>
<mx:Label text="soking's desk 20061127"/>
<mx:Spacer width="100%"/>
<mx:Button label=" Log out"/>
</mx:ApplicationControlBar>

<mx:Panel width="100%" layout="absolute" title="Panel" height="100%">

<mx:HDividedBox width="100%" height="100%">

<mx:Panel width="100%" headerHeight="0" borderStyle="solid" shadowDistance="0" height="100%">
<mx:Label text="Panel without header" fontWeight="bold" x="0" y="0"/>
<mx:Form width="100%" x="134" y="0">
<mx:FormHeading label="First Form"/>
<mx:FormItem label="Name:">
<mx:TextInput width="80"/>
</mx:FormItem>
<mx:FormItem label="Email:">
<mx:TextInput width="80"/>
</mx:FormItem>
</mx:Form>
</mx:Panel>

<mx:Panel width="100%" headerHeight="0" borderStyle="solid" shadowDistance="0" height="100%">
<mx:Label text="Panel without header" fontWeight="bold"/>
<mx:Form width="100%">
<mx:FormHeading label="First Form"/>
<mx:FormItem label="Name:">
<mx:TextInput width="80"/>
</mx:FormItem>
<mx:FormItem label="PWD:">
<mx:TextInput width="80" displayAsPassword="true"/>
</mx:FormItem>
</mx:Form>
</mx:Panel>

</mx:HDividedBox>

<mx:ControlBar width="100%" >
<mx:Label text="ControlBar in panel" fontWeight="bold"/>
<mx:Spacer width="100%"/>
<mx:Button label="Pre"/>
<mx:Button label="Finish"/>
</mx:ControlBar>

</mx:Panel>
</mx:Application>

 

 

  2.当航容器

  导航容器的主要作用是用来在多个容器之间进行换。在使用的过程中,需要我们注意的是,导航器容器的直接子级必须是容器, 要么是布局容器, 要么是导航器容器。 无法在导航器内直接嵌套控件;控件必须是导航器容器的子容器的子级。

 

  Accordion Accordion 容器定义一个子面板序列, 但一次仅显示一个面板。 若要导航容器, 用户会单击与他们需要访问的子面板相对应的导航按钮。 使用 Accordion 容器, 用户可以按任何顺序访问子面板以在表单中前后移动。

   TabNavigator TabNavigator 容器创建和管理一组选项卡, 使用它们可在其子级中间导航。 TabNavigator 容器的子级是其他容器。 TabNavigator 容器为每个子级创建一个选项卡。 当用户选中某个选项卡时, TabNavigator 容器会显示相关联的子级。

 

 ViewStack ViewStack 导航器容器由彼此堆叠在一起的子容器的一个集合组成, 一次只有一个容器是可见的或活动的。 ViewStack 容器不为用户定义切换当前活动容器的内置机制;您必须使用 LinkBar、TabBar、ButtonBar 或 ToggleButtonBar 控件或自己在 ActionScript 中构建逻辑让用户来更改当前活动的子级。

 

综合例子

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="480" height="455">
<mx:Panel x="10" y="10" width="460" height="435" layout="absolute" title="Navigators">

<mx:Accordion x="10" y="30" width="200" height="120">
<mx:Canvas label="Navigation button 1" width="100%" height="100%">
<mx:Text x="10" y="10" text="The first Navigation Button!"/>
</mx:Canvas>
<mx:Canvas label="Navigation button 2" width="100%" height="100%">
<mx:TextInput text="soking's desk" width="120" x="10" y="10"/>
</mx:Canvas>
<mx:Canvas label="Navigation button 3" width="100%" height="100%">
<mx:Text x="10" y="10" text="Soking's desk"/>
</mx:Canvas>
</mx:Accordion>

<mx:TabNavigator x="230" y="30" width="200" height="120">
<mx:Canvas label="Tab 1" width="100%" height="100%">
<mx:Text x="10" y="10" text="The first TabNavigator!"/>
</mx:Canvas>
<mx:Canvas label="Tab 2" width="100%" height="100%">
<mx:TextInput text="soking's desk" width="120" x="10" y="10"/>
</mx:Canvas>
<mx:Canvas label="Tab 3" width="100%" height="100%">
<mx:Text x="10" y="10" text="Soking's desk"/>
</mx:Canvas>
</mx:TabNavigator>

<mx:ViewStack x="230" y="182" id="viewstack1" width="200" height="200" borderStyle="solid">
<mx:Canvas label="Red" width="100%" height="100%">
<mx:Label text="Red Red Red Red" color="#ff0000"/>
</mx:Canvas>
<mx:Canvas label="Purple" width="100%" height="100%">
<mx:Label text="Purple Purple Purple Purple" color="#9900cc"/>
</mx:Canvas>
<mx:Canvas label="Green" width="100%" height="100%">
<mx:Label text="Green Green Green Green" color="#009900"/>
</mx:Canvas>
</mx:ViewStack>

<mx:ButtonBar x="10" y="182" dataProvider="viewstack1">
</mx:ButtonBar>
<mx:TabBar x="6" y="360" dataProvider="viewstack1">
</mx:TabBar>
<mx:ToggleButtonBar x="10" y="242" dataProvider="viewstack1">
</mx:ToggleButtonBar>
<mx:LinkBar x="10" y="301" dataProvider="viewstack1">
</mx:LinkBar>

<mx:Label x="10" y="160" text="ButtonBar" color="#0000ff"/>
<mx:Label x="230" y="10" text="TabNavigator" color="#0000ff"/>
<mx:Label x="230" y="160" color="#0000ff" text="ViewStack"/>
<mx:Label x="10" y="10" text="Accordion" color="#0000ff"/>
<mx:Label x="10" y="220" text="ToggleButtonBar" color="#0000ff"/>
<mx:Label x="10" y="280" text="LinkBar" color="#0000ff"/>
<mx:Label x="10" y="340" text="TabBar" color="#0000ff"/>

</mx:Panel>

</mx:Application>

 

以上是学习过程中的一些总结,欢迎大家指正

分享到:
评论

相关推荐

    flex容器的布局,图片样式效果设计

    在Web开发领域,Flex容器的布局是构建动态和响应式用户界面的重要技术。Flex布局,全称为Flexible Box布局,是CSS3的一种布局模式,旨在解决传统盒模型在处理复杂、多列或响应式布局时的局限性。它允许开发者轻松...

    flex实现的删除子容器

    - **容器(Flex Container)**:设置`display: flex`或`display: inline-flex`的元素成为Flex容器,它的所有直接子元素自动成为Flex项目(Flex Items)。 - **主轴(Main Axis)与侧轴(Cross Axis)**:主轴是...

    FLEX 容器内多个图片分别拖动

    ### FLEX 容器内多个图片分别拖动 ...通过以上步骤,我们能够实现在Flex容器中对多个图片的独立拖动功能。这种方法不仅增强了用户界面的交互性,也使得开发者能够更灵活地控制应用程序的视觉效果。

    转载类似iphono的加速度滑动效果的Flex容器

    标题提到的“转载类似iPhone的加速度滑动效果的Flex容器”是一个关于如何利用Flex布局实现类似iPhone滚动时的加速度效果的技术分享。这种效果使得滚动更加流畅,增强用户的操作体验。下面将详细介绍这个知识点及其...

    微信小程序开发中flex布局容器及元素之属性技术释疑.pdf

    justify-content属性用于定义Flex容器内的元素在主轴上的对齐方式,常见的值包括flex-start(起始位置对齐)、flex-end(结束位置对齐)、center(居中对齐)、space-between(两端对齐,元素之间间隔相等)、space-...

    详解CSS中的flex容器与flex属性

    flex container(flex容器 或 弹性容器) flex容器是flex元素的的父元素。 通过设置display 属性的值为flex 或 inline-flex定义。 注旧版本的属性值: box:将对象作为弹性容器显示。(最老版本)inline-box:将对象...

    flex布局Flex实现常见布局的汇总

    先简单介绍一下,要使用flex布局,需要先给一个容器元素设置display:flex让它变成flex容器。 然后其所有的直接子元素就变成flex子元素了,在flex里存在两根轴,叫主轴和交叉轴,互相垂直,主轴默认水平,flex子元素...

    flex嵌入html的容器

    本文将详细介绍如何在HTML中嵌入Flex容器,并以IFrameDemo为例进行说明。 首先,我们需要理解Flex和HTML的集成方式。通常,我们可以使用`&lt;object&gt;`或`&lt;embed&gt;`标签将Flex应用嵌入到HTML中。这两种方法都可以实现...

    flex组件的所有源文件

    1. **CSS Flex容器(Flex Container)**:在CSS中,一个拥有`display: flex`或者`display: inline-flex`样式的元素成为Flex容器。这将使得该元素的所有直接子元素成为Flex项目(Flex Items)。源文件中可能包含设置...

    Flex弹性布局详解

    - **Flex容器(Flex Container)**: 通过设置`display: flex`或`display: inline-flex`来定义一个Flex容器。 - **Flex项目(Flex Item)**: Flex容器的所有直接子元素即为Flex项目。 #### 三、容器的属性 ##### 1....

    flex组件详细介绍

    在Flex布局中,父元素被称为Flex容器,通过设置`display`属性为`flex`或`inline-flex`,可以将其转换为Flex容器。例如: ```css .container { display: flex; } ``` 二、Flex方向 Flex容器有两个主要的流向:主轴...

    flex css 模版经典

    - **Flex容器**:任何具有`display: flex`或`display: inline-flex`样式的父元素都被视为Flex容器。容器内的所有直接子元素称为**Flex项目**。 - **主轴与交叉轴**:Flex容器有一个主轴(main axis),其方向由`...

    Flex布局笔记.docx

    1. Flex容器(flex-container) Flex容器是通过设置`display`属性来定义的,有两种类型: - `display: inline-flex`:创建一个行内Flex容器,元素与其他行内元素在同一行。 - `display: flex`:创建一个块级Flex...

    flex事件flex事件flex事件flex事件

    "flex事件"这个概念可能指的是与Flex布局相关的JavaScript事件或者是在Flex容器中发生的交互事件。然而,由于提供的信息较少,无法明确具体是指哪些特定的事件。下面,我将详细介绍Flex布局的基础知识以及可能与之...

    flex_style.rar_flex_flex style_style flex

    - Flex容器:任何具有`display: flex`或`display: inline-flex`样式的元素都成为Flex容器,其内部的子元素称为Flex项目。 - Flex布局允许容器在主轴(默认为水平方向)和交叉轴(垂直方向)上对项目进行布局。 2....

    flex css动态加载

    - **Flex容器**:设置`display: flex`或`display: inline-flex`的元素成为Flex容器,它的所有直接子元素自动变为Flex项目。 - **Flex项目**:Flex容器中的子元素,可以通过Flexbox属性来控制它们的布局、顺序和...

    flex特效组件用法效果

    首先,让我们理解Flex容器(ContainerCtrl)的概念。在Flex布局中,容器是包含一个或多个子元素的元素,这些子元素可以是其他Flex容器或普通的HTML元素。`ContainerCtrlDemo`可能是一个示例项目,演示了如何使用Flex...

    划分flex页面布局

    1. Flex容器:在Flex布局中,父元素被称为Flex容器,它决定了子元素如何布局。通过设置`display`属性为`flex`或`inline-flex`,可以将一个元素转变为Flex容器。 2. Flex项目:容器内的子元素称为Flex项目,它们是被...

Global site tag (gtag.js) - Google Analytics