在FireMonkey iOS应用程序中使用ListBox组件来显示TableView

FireMonkey iOS应用程序中使用ListBox组件来显示TableView

 

iOS平台上,FireMonkey使用FMX.ListBox.TListBox组件来显示一个iOS StyleTableView,像这种ListBox

这篇教程描述了在你的FireMonkey iOS应用程序中为TableView建立项目列表的基本步骤。

 

 

ListBox组件上创建项目列表

 

1.        选择File>New>FireMonkey Mobile Application-Delphi>BlankApplication

2.        在Tool Palette选择TListBox组件,然后将它拖放到FireMonkey Mobile Form Designer。要找到TListBox,在ToolPalette的搜索框中输入部分字符(例如“tlist”)。

3.选中在Mobile FormDesigner上的TListBox组件,在Object Inspector里为Align属性设置为alClient

4.在FireMonkey MobileForm Designer上,右击TListBox组件,然后选择Items Editor:

5.在Items Designer上,多点几次AddItem按钮来给ListBox添加一些项目:

6.关闭项目列表设计器。现在你可以在TListBox组件上找到你刚才添加的ListBox项目列表。例如:

 

 

 

 

 

添加一个Header

 

你可以使用下面的步骤来在TListBox组件上定义一个Header

1.在FireMonkey MobileForm Designer上,右击TListBox组件,然后选择Add Item>TListBoxHeader

2.在Tool Palette上,选择TLabel组件并将它拖放到你刚才添加的TListBoxHeader上方:

3.在Object Inspector里,更改TLabel组件的属性如下:

 

 

添加分组Header/Footer到列表中

 

你可以在TListBox上面加上一个分组Header和分组Footer

1.  在FireMonkeyMobile Form Desginer上,右击TListBox组件,然后选择Items Editor

2.  在ItemDesigner上,从下拉列表中选择TListBoxGroupHeader,然后选择Add Item

3.  在下拉列表中选择TListBoxGroupFooter,然后选择Add Item

4.  选中在项目列表中的ListBoxGroupHeader1,然后点击几次Up按钮直到这个项目成为列表中最上面那个:

5.关闭对话框。现在在TListBox组件上有一个分组Header和一个分组Footer

 

 

显示列表项为分隔分组项

 

ListBox上的项目可以显示成一个Plain列表或一个Grouped列表。由GroupingKind属性和StyleLookup属性所控制的,如下图所示:

你可以在Object Inspector中为你的TListBox组件选择一个Style

 

 

 

添加一个复选框或其他辅助项给ListBox

 

TListBox里的每个项通过ItemData.Accessory属性来使用一个辅助项,例如复选标记。下面的图片显示了你可以赋给ItemData.Accessory的值:

Form Designer中的ListBox列表项选中的时候,你可以在Object Inspector中选择Accessory属性的值。

 

 

ListBox项添加图标

 

每个在ListBox组件中的项目都包含一个Bitmap数据,做为图标,通过ItemData.Bitmap属性:

ListBoxItemForm Designer上被选中的时候你就可以在Object Inspector中选择Bitmap属性了。

 

 

 

 

给项目添加详信息

 

你可以给在ListBox组件上的每个列表项添加附件文本信息。

ItemData.Detail属性中指定附加文本,然后通过StyleLookup属性来选择详细文本的位置,如下表格所示:

 

 

 

在代码中添加列表项给ListBox

 

要在ListBox中添加普通的项,你可以简单的调用Items.Add方法:

 

  1. ListBox1.Items.Add('Text to add');  
  1. ListBox1.Items.Add('Text to add');  

 

 

 

如果你想要创建不只一个简单项,或是控件其他属性,你可以先创建一个项目实例,然后将它添加到List Box中。

下面的代码添加项目到ListBox中,如下图所示:

 

 

  1. procedure TForm40.FormCreate(Sender: TObject);  
  2. var  
  3.   c: Char;  
  4.   i: Integer;  
  5.   Buffer: String;  
  6.   ListBoxItem : TListBoxItem;  
  7.   ListBoxGroupHeader : TListBoxGroupHeader;  
  8. begin  
  9.   ListBox1.BeginUpdate;  
  10.   for c := 'a' to 'z' do  
  11.   begin  
  12.     // Add header ('A' to 'Z') to the List  
  13.     ListBoxGroupHeader := TListBoxGroupHeader.Create(ListBox1);  
  14.     ListBoxGroupHeader.Text := UpperCase(c);  
  15.     ListBox1.AddObject(ListBoxGroupHeader);  
  16.    
  17.     // Add items ('a', 'aa', 'aaa', 'b', 'bb', 'bbb', 'c', ...) to the list  
  18.     for i := 1 to 3 do  
  19.     begin  
  20.       // StringOfChar returns a string with a specified number of repeating characters.  
  21.       Buffer := StringOfChar(c, i);  
  22.       // Simply add item   
  23.       // ListBox1.Items.Add(Buffer);  
  24.    
  25.       // or, you can add items by creating an instance of TListBoxItem by yourself  
  26.       ListBoxItem := TListBoxItem.Create(ListBox1);  
  27.       ListBoxItem.Text := Buffer;  
  28.       // (aNone=0, aMore=1, aDetail=2, aCheckmark=3)  
  29.       ListBoxItem.ItemData.Accessory := TListBoxItemData.TAccessory(i);  
  30.       ListBox1.AddObject(ListBoxItem);  
  31.     end;  
  32.   end;  
  33.   ListBox1.EndUpdate;  
  34. end;  
  1. procedure TForm40.FormCreate(Sender: TObject);  
  2. var  
  3.   c: Char;  
  4.   i: Integer;  
  5.   Buffer: String;  
  6.   ListBoxItem : TListBoxItem;  
  7.   ListBoxGroupHeader : TListBoxGroupHeader;  
  8. begin  
  9.   ListBox1.BeginUpdate;  
  10.   for c := 'a' to 'z' do  
  11.   begin  
  12.     // Add header ('A' to 'Z') to the List  
  13.     ListBoxGroupHeader := TListBoxGroupHeader.Create(ListBox1);  
  14.     ListBoxGroupHeader.Text := UpperCase(c);  
  15.     ListBox1.AddObject(ListBoxGroupHeader);  
  16.    
  17.     // Add items ('a', 'aa', 'aaa', 'b', 'bb', 'bbb', 'c', ...) to the list  
  18.     for i := 1 to 3 do  
  19.     begin  
  20.       // StringOfChar returns a string with a specified number of repeating characters.  
  21.       Buffer := StringOfChar(c, i);  
  22.       // Simply add item  
  23.       // ListBox1.Items.Add(Buffer);  
  24.    
  25.       // or, you can add items by creating an instance of TListBoxItem by yourself  
  26.       ListBoxItem := TListBoxItem.Create(ListBox1);  
  27.       ListBoxItem.Text := Buffer;  
  28.       // (aNone=0, aMore=1, aDetail=2, aCheckmark=3)  
  29.       ListBoxItem.ItemData.Accessory := TListBoxItemData.TAccessory(i);  
  30.       ListBox1.AddObject(ListBoxItem);  
  31.     end;  
  32.   end;  
  33.   ListBox1.EndUpdate;  
  34. end;  


 

 

 

添加搜索框

 

你可以添加搜索框到ListBox中,使用搜索框,用户可以方便从很长的列表中定位到一个选项,如下图所示:

要在ListBox组件中添加搜索框,右击TListBox组件,从弹出菜单中选择Add Item>TSearchBox

Delphi for iOS开发指南 目录 Delphi XE4 For IOS真机调试配置教程 ........................................................................................................................... 3 Delphi for iOS开发指南(序):Delphi iOS应用程序开发 .............................................................................................. 63 Delphi for iOS开发指南(1):在Mac上配置你的开发环境 ............................................................................................ 70 Delphi for iOS开发指南(2):在Windows PC上配置你的开发环境 ............................................................................ 88 Delphi for iOS开发指南(3):创建一个FireMonkey iOS应用程序 ............................................................................ 100 Delphi for iOS开发指南(4):在iOS应用程序使用不同风格的Button组件 .......................................................... 120 Delphi for iOS开发指南(5):在iOS应用程序使用Calendar组件来选择日期 ...................................................... 129 Delphi for iOS开发指南(6):在iOS应用程序使用ComboBox组件来从列表选择某一项 ................................ 136 Delphi for iOS开发指南(7):在iOS应用程序使用WebBrowser组件 .................................................................. 146 Delphi for iOS开发指南(8):在iOS应用程序使用Tab组件显示分页 ................................................................ 160 Delphi for iOS开发指南(9):在iOS应用程序使用ListBox组件显示TableView ............................................. 179 Delphi for iOS开发指南(10): 在iOS应用程序使用Layout来调整窗体尺寸或排列方向 .................................... 205 Delphi for iOS开发指南(11):在iOS应用程序拍照并共享照片 .............................................................................. 218 Delphi for iOS开发指南(12):在iOS Device使用地理定位 ................................................................................... 230 Delphi for iOS开发指南(13):在iOS Device使用通知心 ................................................................................... 254 Delphi for iOS开发指南(14):在iOS应用程序使用InterBase ToGo ................................................................... 283 Delphi for iOS开发指南(15):在iOS应用程序使用SQLite ................................................................................... 311 Delphi for iOS开发指南(16):在iOS客户端应用程序连接企业级数据库 ............................................................... 337 Delphi For iOS开发指南(17):让应用程序禁止竖屏(也就是只显示横屏) .................................................................... 360 Delphi For iOS开发指南(18):让Delphi XE4开发的iOS应用显示文名称 ....................................................... 365 Delphi XE8实现移动端的消息推送(个推) .................................................................................................................... 373 Delphi XE10实现移动端支付宝支付接口(含源码) ....................................................................................................... 379 Delphi XE10实现移动端微信支付接口(含源码) ........................................................................................................... 401 Delphi XE10调用百度地图和百度导航 ......................................................................................................................... 429 Delphi XE10支持IOS IPV6的处理 ............................................................................................................................. 440
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值