`

v4_01 在项目渲染器中显示数据

    博客分类:
  • flex
UI 
阅读更多
v4_01 Representing data in default item renderers 在项目渲染器中显示数据
 
这部分主要讲
DataGroup的相关知识
它是基于一系统已定义的数据来展示其它内容
以及如何在DataGroup容器中使用两个预置的Spark项目渲染器来为数据集中的每一条记录定义统一的,可重用的外观
 
 
 
两个默认的项目渲染器
DefaultItemRenderer:显示简单的数据类型,如字符串,数据
DefaultComplexItemRenderer:用于显示UI组件
 
1.定义一个list数据列表
<!-- Declarations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<fx:Declarations>
<s:ArrayList id="employeeList">
<fx:String>Andrew Brilliam</fx:String>
<fx:String>Ben Crater</fx:String>
<fx:String>David Avenon</fx:String>
<fx:String>Annette Kotter</fx:String>
<fx:String>Brian Minnows</fx:String>
<fx:String>Barry Kramson</fx:String>
</s:ArrayList>
</fx:Declarations> 
  
定义一个DataGroup
从这部分开始,又要注意页面细节的问题了,DataGroup中dataProvider是数据的提供者
itemRenderer是必须的,它就是使用的项目渲染器,如果不加上这个属性,会提示错误
另外,DataGroup是一个有layout属性的组件,layout可以控制显示的布局
同时,也可以看到,主应用程序中也有layout
另外,默认的layout是以xy坐标来定位的,所以DataGroup中不能使用默认的
<s:DataGroup dataProvider="{employeeList}"
itemRenderer="spark.skins.spark.DefaultItemRenderer">
<s:layout>
<s:VerticalLayout/>
</s:layout>
</s:DataGroup> 
  
页面效果如下
 
2.改变数据定义
<!-- Declarations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<fx:Declarations>
<s:ArrayList id="employeeList">
<fx:String>Andrew Brilliam</fx:String>
<mx:Image source="images/abrilliam.jpg"/>
<fx:String>Ben Crater</fx:String>
<mx:Image source="images/bcrater.jpg"/>
<fx:String>David Avenon</fx:String>
<mx:Image source="images/davenon.jpg"/>
<fx:String>Annette Kotter</fx:String>
<mx:Image source="images/akotter.jpg"/>
<fx:String>Brian Minnows</fx:String>
<mx:Image source="images/bminnows.jpg"/>
<fx:String>Barry Kramson</fx:String>
<mx:Image source="images/bkramson.jpg"/>
</s:ArrayList>
</fx:Declarations> 
  
改变项目渲染器
<s:DataGroup dataProvider="{employeeList}"
itemRenderer="spark.skins.spark.DefaultComplexItemRenderer">
<s:layout>
<s:VerticalLayout/>
</s:layout>
</s:DataGroup>

 
 
它只显示图片,不显示字符串了
 
3.为了能同时使用两种项目渲染器来显示字符串和图片
创建一个function
<!--WizRtf2Html Charset=0 -->
<!-- Script ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<fx:Script>
<![CDATA[
import spark.skins.spark.DefaultComplexItemRenderer;
import spark.skins.spark.DefaultItemRenderer;
private function rendererFunction(item:Object):ClassFactory
{
if(item is String)
{
return new ClassFactory(DefaultItemRenderer)
}
else
{
return new ClassFactory(DefaultComplexItemRenderer)
}
}
]]>
</fx:Script> 
 
 
DataGroup 中使用itemRendererFunction 来引用 这个function
<s:DataGroup dataProvider="{employeeList}"
itemRendererFunction="rendererFunction">
<s:layout>
<s:VerticalLayout/>
</s:layout>
</s:DataGroup>
  
分享到:
评论

相关推荐

    v4l2_to_drm.zip

    描述中的"v4l2_to_drm.zip"可能是一个项目或代码示例,它演示了如何从V4L2获取YUV格式的数据,并直接传递给Direct Rendering Manager (DRM)框架进行显示,而无需通过内存拷贝(memcpy)这一中间步骤。这提高了效率,...

    qt5_qml_opengl_shader显示yuv

    在本文中,我们将深入探讨如何使用Qt5 QML、OpenGL着色器(Shader)来显示YUV视频数据。Qt5是跨平台的应用程序开发框架,而QML则提供了声明式编程,使得用户界面设计变得简单易懂。OpenGL是用于渲染2D和3D图形的标准...

    webcam_v4l2_x264

    - **视频回放**:解压缩后的视频帧被渲染并显示在本地设备上,可以是显示器或者另一台连接的显示器设备,实现视频的实时回放。 3. **H.264编码**: - H.264(也称为AVC,Advanced Video Coding)是一种广泛采用的...

    svv.rar_v4l2

    2. **视频捕获**:在"svv"项目中,V4L2被用于视频捕获,即从摄像头或其他视频输入设备获取实时的视频流。这通常涉及到设置帧率、分辨率、色彩空间等参数,并通过循环读取缓冲区来获取连续的视频帧。 3. **视频显示*...

    最新版Angular V4 学习笔记

    尽管这种方式可行,但在实际开发中更倾向于使用接口(Interface)或类型别名(Type Aliases)来定义数据模型。 #### 组件模板中的HTML注意事项 组件模板的编写有一些限制和注意事项。 - **禁止使用 `&lt;script&gt;` ...

    qt 环境下 显示gif或者采集相机数据 并显示

    在非OpenGL ES版本中,我们主要依赖QPaintEngine和QPainter来处理图形渲染。 2. **QLabel与QMovie**: 在Qt中,显示GIF通常通过`QLabel`控件配合`QMovie`类来实现。`QLabel`可以显示文本、图像等多种内容,而`...

    基于GEC6818智能家居项目包.rar

    综合来看,这个智能家居项目展示了物联网技术在日常生活中的应用,结合了软件开发(如C语言编程、Linux环境开发)、硬件控制(GEC6818微控制器)、人工智能(手势识别)和信息安全(门禁系统)等多个领域,为用户...

    Android下基于UVC的UsbCam的源码

    在这个项目中,转换后的RGBA图像将被加载到GLSurfaceView的纹理中,进行实时显示。 综合以上技术,这个项目实现了一个完整的Android USB摄像头应用。首先,通过UVC协议连接并初始化摄像头,然后利用V4L2接口获取...

    linuxv4l2+ffmpeg+sdl

    在本项目中,FFmpeg的解码器被用于将V4L2读取的H.264视频流解码成YUV格式,以便进一步处理。 4. **YUV (YUVJ420P)**: YUV是视频编码中常用的色彩空间,常用于无损或有损压缩视频。YUVJ420P是YUV的一种子采样格式,...

    留言板 使用Think PHP6加光年V4模板开发的一款简单且轻量的留言板,非常适合新手研究学习

    在这个留言板系统中,光年V4模板主要负责用户界面的设计与优化,确保在不同设备上都能提供良好的用户体验。 在数据库操作方面,本项目主要涉及到了MySQL的基础操作,包括增、删、改、查。"增"是指添加新的留言数据...

    ffmpeg_dsl_camera.rar_55_ffmpeg_ffmpeg 64_ffmpeg camera_ffmpeg 库

    在这个项目中,"ffmpeg_dsl_camera.cpp" 文件是关键,它展示了如何利用 FFmpeg API 来连接和处理来自 DSLR 相机的视频流。 在 FFmpeg 中,读取摄像头数据通常涉及到以下步骤: 1. 初始化:首先,你需要初始化 ...

    d3loom是d3插件用于创建织机图表布局适用于d3v4

    5. **性能优化**:尽管织机图表可能包含大量数据点,但d3-loom通过优化渲染算法,保证了在现代浏览器上的流畅性能。 **使用d3-loom的步骤** 1. **引入库**:首先,你需要在项目中引入d3-loom库。这通常通过CDN链接...

    CheckBoxTree

    而在JavaFX中,可以利用`TreeView`类的`cellFactory`属性来创建自定义的树节点渲染器,其中包括复选框。 6. 自定义和扩展: 虽然Z-Tree提供了基本的CheckBoxTree功能,但开发者通常需要根据项目需求进行扩展和定制...

    UniWebView 4-4.2.0.rar unity3D的手机内嵌网页插件

    1. 网页内容的适配:由于Unity3D是3D渲染环境,因此需要考虑网页内容在3D场景中的显示效果,可能需要对网页进行相应的优化。 2. 性能监控:在实际应用中,需关注 UniWebView 的性能表现,如内存使用、CPU占用等,...

    前端项目-billboard.js.zip

    **前端项目-billboard.js** 是一个基于 **D3v4** 的JavaScript图表库,它为开发者提供了一种高效、可重用且易用的方式来创建各种界面图表。D3(Data-Driven Documents)是一个强大的数据可视化库,允许开发者将数据...

    android-整体UI设计(滑动导航栏 滚动页面).zip

    在源码中,你可以找到如何配置和触发滑动导航栏的方法,包括设置监听器以响应用户操作,以及自定义显示内容。 滚动页面(Scrolling Content)在Android中通常涉及到`ScrollView`或`NestedScrollView`组件,它们允许...

    VideoGrabber视频显示

    6. **多线程编程**:为了保证视频捕获、处理和显示的实时性,VideoGrabber可能会使用多线程技术,确保捕获和显示操作在不同的线程中异步执行。 7. **用户界面**:如果VideoGrabber提供了图形用户界面,那么开发者还...

    DerryOpenGL.zip

    这样,纹理数据就可以在OpenGL渲染管线中使用了。 4. **帧缓冲对象(Frame Buffer Objects, FBOs)**:为了在OpenGL中显示摄像头的实时预览,可以使用帧缓冲对象。FBO允许我们将渲染目标从屏幕切换到一个离屏的缓冲...

    fastreport文档

    这个安装程序将为开发人员提供FastReport的组件库,使得在BCB6项目中可以直接使用FastReport设计和显示报表。 3. **FastReport4_中文使用手册.pdf** 这是FastReport V4的官方中文使用手册,详细介绍了FastReport的...

    【粤嵌教育】基于嵌入式ARM的广告机视频源码

    在广告机项目中,源码可能包括了视频解码、播放控制、界面渲染等模块,开发者可以借此理解如何在嵌入式环境下高效地处理和播放视频文件。 5. 多媒体处理:广告机的主要功能是播放视频,因此涉及到多媒体数据的编码...

Global site tag (gtag.js) - Google Analytics