有没有办法让Delphi的TListView在Android中表现得像实际的ListView? 例如,列表中的每个项目都有自己的“视图”,在该视图中可以是多个其他视图(组件),如多个文本框和复选框,以及......?
答案 0 :(得分:2)
是的,有办法。我是用这两种方法制作的。 CreateItem方法是您在listitem中放置所需组件的地方。
procedure TForm1.CreateItem;
var
edit1:TClearingEdit;
editCalendar1:TCustomCalendarEdit;
begin
edit1:= TClearingEdit.Create(Self);
edit1.Parent := fItem;
edit1.Align := TAlignLayout.alClient;
edit1.Text := 'Blabla';
edit1.OnChange := actEdit1OnChange;
editCalendar1 := TCalendarEdit.Create(Self);
editCalendar1.Parent := fItem;
editCalendar1.Align := TAlignLayout.alRight;
editCalendar1.Width := 90;
editCalendar1.Date := Date;
editCalendar1.OnChange := actEditCalOnChange;
end;
procedure TForm1.CreateListItem;
begin
fItem:= TListBoxItem.Create(your_listbox);
fItem.Parent := your_listbox; //Here you put the ListBox as a parent
fItem.Align := TAlignLayout.alTop;
fItem.Text := '';
fItem.Height := 50;
CreateItem;
end;
要向列表中添加自定义项,只需调用CreateListItem方法即可!接下来我使用OnChange方法接收数据这里是一个例子:
procedure TForm1.actEditCalOnChange(Sender: TObject);
begin
label1.text := TCalendarEdit(Sender).Text;
end;
procedure TForm1.actEdit1OnChange(Sender: TObject);
begin
label2.text := TClearingEdit(Sender).Text;
end;
答案 1 :(得分:0)
您必须使用TListBox,然后您可以添加列表项,每个项目可以包含项目文本和详细信息,但您只能使用预定义的布局。你不能像Eclipse一样制作完全自己的布局。您必须使用FireMonkey样式设计器来创建自己的样式。看看here。