概述

采用 Delphi 的 FireMonkey 框架,可以开发运行在 WINDOWS, Android, iOS 和 MacOS 上面的代码。其中一个比较常用的界面显示控件是 TListView。

如果数据是多条,来自数据库,或者来自多个对象的对象列表(TObjectList),采用 Delphi 的数据绑定功能(LiveBindings)可以让 ListView 显示来自数据的内容。

需求:

ListView 显示的多条内容,每一条,可以有一个图片,有段文字,等等。Delphi 提供了几种固定格式。但如果在一条里面,想要显示多个图片,怎么办?而且,这些图片,不想要复制拷贝图片,而是直接使用索引指向一个 ImageList 里面的图片。

实现:

在 Delphi IDE 里面,鼠标右键点 ListView1,下拉菜单,选择设计模式,使得 ListView1 进入设计模式。这个时候选择界面上 ListView1 的设计模式下的 Item,在 IDE 右上的【Structure】窗口里面,找到对应的 Item 项目,选中,左边的属性窗口里面,就是这个 Item 的属性,属性的第一条【Appearance】,下拉选择【DynamicAppearance】,这个 Item 就可以在设计期手动增加显示用的元素了,这个时候属性里面的最后一条显示的是【+】号和【Add new】,点击它最右边的下拉箭头,选择 TImageObjectAppearance 就可以增加一个图片元素到 Item 上面。

想要增加一条文字,也同样操作,选择 TTextObjectAppearance 就可以了。

这些设计期手动增加的界面元素,可以修改它的名字。默认的名字大概是 Text1, Image1 这样的。

如果想要用代码为这个图片元素赋值,可以找到对应的 Item 然后采用以下代码:

procedure TForm594.SpeedButton1Click(Sender: TObject);
varLItem: TListViewItem;
beginLItem := ListViewl.Items[3];(LItem.Objects.FindDrawable('Image1') as TListItemImage).Bitmap := MyImage.Bitmap;
end;//备注:MyImage 是一个 TImage,我事先在里面加载了图片。

如果要让某一条 Item 的图片一个 ImageList 的序号显示对应图片,以下代码:

//备注:ListView1.Images := ImageList1;procedure TForm594.SpeedButton1Click(Sender: TObject);
varLItem: TListViewItem;
beginLItem := ListView1.Items[3];LItem.Data['Image1'] := 12; //12 是对应的图片在 ImageList1 里面的序号。
end;

如果采用 LiveBindings 的方法,设计期可视化绑定操作时,只需要把要绑定的对象的整数属性拉线到这个 Image1 元素上,它就可以显示对应的 ImageList1 里面的图片。

绑定到数据库的 DataSet 上,道理相同。

如何将一个对象列表绑定到 ListView 上面,请本博客的看上一篇文章。

FireMonkey ListView 绑定数据显示多个图片相关推荐

  1. 使用Gridview绑定数据库中的图片

    注:此系列记录在我实际开发中遇到的问题和收藏一些技巧文章. 我们都知道,在Gridview中不能直接去绑定数据库中的图片,我们可以利用HttpHandler很容易的完成这个任务,在这里我记录一下这个过 ...

  2. UWP ListView 绑定 单击 选中项 颜色

    UWP ListView 绑定 单击 选中项 颜色 xaml <Pagex:Class="SuperTools.Views.BlankPage3"xmlns="ht ...

  3. Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能

    Android高级控件(一)--ListView绑定CheckBox实现全选,增加和删除等功能 这个控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adap ...

  4. C#中WPF ListView绑定数据的实例详解

    C#中WPF ListView绑定数据的实例详解 发布时间: 2019-03-09 19:29:46 来源: 互联网 作者: 晨曦888 栏目: C#教程 点击: 298 这篇文章主要介绍了C#中WP ...

  5. 分别使用ListView和RecylerView显示动物图片、名称以及简介信息

    文章目录 RecylerView 放置界面控件 创建Item界面 编写页面交互代码 ListView 放置界面控件 创建Item界面 编写页面交互代码 RecylerView 放置界面控件 放置一个R ...

  6. Android ListView异步加载数据库图片

    需求:从数据库中得到图片的byte数据,编码成png图片,显示到ListView上 这里最大一个问题就是ListView滑动卡的问题,要解决卡,就需要用到异步加载数据库的图片: 原创博客,转载注明出处 ...

  7. LIstview滑动时不加载图片,停止时加载!

    //参照 http://blog.csdn.net/yy1300326388/article/details/45153813 public class CarWashDistanceAdapter ...

  8. Android之 ListView滑动时不加载图片

    listview加载图片优化的功能, 在我们使用新浪微博的时候,细心的同学一定发现了,在滑动的过程中,图片是没有被加载的, 而是在滑动停止时,才加载图片了. 我们今天就做一个这样的效果吧. 我们先考虑 ...

  9. 【转】Android android listview的HeadView左右切换图片(仿新浪,网易,百度等切换图片)...

    首先我们还是看一些示例:(网易,新浪,百度)      下面我简单的介绍下实现方法:其实就是listview addHeaderView.只不过这个view是一个可以切换图片的view,至于这个vie ...

  10. Android之ListView优化(使用Lrucache,图片滑动时使用默认图片,停止时加载)

    注意:LruCache是有版本限制的,低版本的sdk需要在libs文件夹添加相应的support-4v文件. 本文改造的大部分是参考http://www.iteye.com/topic/1118828 ...

最新文章

  1. Android使用ImageView显示网络图片
  2. 如何写好一份工程师简历
  3. Android -- Webview自适应屏幕
  4. 网易架构师深入讲解Java开发!BAT等大厂必问技术面试题
  5. idea java mapper.xml文件sql黄色背景解决
  6. Android视频播放
  7. Rtsp之信令交互流程
  8. bzoj 1414: [ZJOI2009]对称的正方形
  9. c++14 0 名字空间和条件编译
  10. python离线录音转文字软件_语音转文字工具 v2.0免费版
  11. 成功粉碎北信源监控程序vrvedp_m.exe ,vrvrf_c64.exe,svchost.exe,vrvrf_c.exe
  12. 树莓派实现实时视频监控
  13. 优化MySchool数据库设计(SQL Server)
  14. SpringBoot项目搭建 day1
  15. Image Thresholding图像阙值化和Adaptive Thresholding
  16. Jest测试语法系列之Expect
  17. Tennessee Eastman(TE)田纳西-伊斯曼仿真平台应用试验与分析
  18. 实践:动手搭建聊天机器人
  19. php小程序 100行左右,微信小程序 左右分类滚动列表
  20. 我是如何用知能行秒杀考研数学的

热门文章

  1. 渗透测试教程(基础篇)-2
  2. 【AI芯片】中国AI芯片爆发,架构创新迫在眉睫
  3. Qt下汉字转拼音,包含二级汉字
  4. dubbo源码解析-directory
  5. 基于Matlab高斯光束菲涅耳衍射的模拟
  6. B2B网站平台建设:优势、功能、模块三大方向解析
  7. Win10设置热点IP
  8. 基于万维易源提供的API接口实现快递单号查询物流信息
  9. 【目录】【高等数学】【本科笔记】
  10. 斐讯k3怎么设置虚拟服务器,斐讯K3路由器功能介绍及使用教程