我正在开发Delphi xe5的移动应用程序(android和ios)。
我愿意创建这个UI:
我尝试TListBox
,但左右图像无法设置。
我尝试TListView
但问题与TListBox
我用TGrid
尝试了custom column
,解决了文本和图片的问题,但我无法创建每行的标题(它没有像colspan这样的东西)
我需要的是创建一个自定义控件并重复它。
什么是最佳解决方案?
任何解决方案或指南都将受到赞赏。
感谢@Mike Sutton的回答,结果就是这样
答案 0 :(得分:2)
这是一个我没有时间测试的想法:
创建TListBoxItem
的后代,并在其中添加两个图像作为普通TImages。我很确定TListBoxItem
可以为对象提供父级。您必须将图像放在所需的列表框项目上。然后,每当您将项目添加到列表框项目时,只需传入您自己的后代。
(如果这不起作用,有人让我知道,我会删除它。)
答案 1 :(得分:2)
这里的样式与标准TListBoxItem样式有很大的不同,从头开始可能是有意义的,在这种情况下,访问默认样式的问题变得无关紧要。
设置要从代码中引用的任何组件的StyleName属性。
将TLIstBoxItem子类化为TScoreListBoxItem(如果使用上面建议的StyleName)。
procedure SetFlag1;
var O: TFMXObject;
begin
O := FindStyleResource('flag1'); //StyleName of the item
if O is TImage then
TImage(O).Bitmap.Assign(FFlag1);
end;
覆盖ApplyStyle方法并调用设置样式中数据的方法的所有。
现在用代码创建你的项目:
Item := TScoreListBoxItem.Create(Self);
ListBox1.AddObject(Item);
Item.Flag1.LoadFromReource ...
...