有人可以指导我正确的方向.我正在尝试使用Delphi XE4为iOS应用程序创建自定义ListboxItem.我的目标输出将是上面照片的内容,我现在被困在这里(图片如下). 我已成功动态生成ListBoxItem并插入
我已成功动态生成ListBoxItem并插入TLabel对象,但是,我无法将TLabel的’fontColor’属性更改为所需的颜色.我可以编码
TLabel.Fontcolor:= ClaBlue;
但颜色会变成黑色.我希望它看起来就像我给出的例子.我无法更改插入的TLabel的字体颜色,并为每个Listbox项添加渐变背景.我不知道我是否需要使用“样式编辑器”,甚至是如何使用.是的,我查看了Delphi / RAD Studio中包含的示例
这是我目前的编码如下:
while XMLNode<>nil do begin HeaderText := 'Part#: ' + XMLNode.ChildNodes['PARTNUM'].Text + Chr(9) + XMLNode.ChildNodes['VENDPARTNUM'].Text; DetailText := '$' + XMLNode.ChildNodes['MD1_SELL_PRICE'].Text + ' /' + XMLNode.ChildNodes['UM1_PRICE_NAME'].Text + sLineBreak + 'Min: ' + XMLNode.ChildNodes['md2_from.MD2_MIN_QTY'].text + Chr(9) + 'On Hand: ' + XMLNode.ChildNodes['md2_from.MD2_ON_HAND_QTY'].text + Chr(9) + Label1.text ; Form6.ListBox1.Items.Add(DetailText); ListBoxItem:=Form6.ListBox1.ListItems[Form6.ListBox1.Items.Count-1]; ListBoxItem.StyleLookup:='listboxitembottomdetail'; ListBoxItem.WordWrap:=True; ListBoxItem.Font.Size:= 8; ListBoxItem.Height := 120; TestLabel := TLabel.Create(self); TestLabel.Text := HeaderText; TestLabel.font.size := 20; testLabel.FontColor := claBlue; TestLabel.Width := form6.ListBox1.ClientWidth; i := i +1; XMLNode := XMLNode.NextSibling; end; Form6.ListBox1.EndUpdate; Form6.Show;你必须使用样式书,
使用delphi附带的CustomListBox示例来学习如何在Firemonkey中正确使用Styles.
阅读一些官方的Firemonkey风格指南(例如Customizing FireMonkey Applications with Styles)也不会有什么坏处.
它看起来更复杂,简而言之就是产生你想要的结果:
>访问组件的样式设计器
>通过结构窗口编辑/添加/删除和修改控件,在您的情况下,它将是Tlayouts中组织的TText控件的组合.
>保存修改后,可以在运行时更改特定TText控件的颜色:Item.StylesData [‘TestLabel.Color’]:= TAlphaColors.Red; (其中Item是TListboxitem)
你想要达到的目标并不难,通过练习学习处理风格设计师,纯粹的试验和错误,它并不像看起来那么复杂.