在运行时更改ListView图像Delphi 10.1 Berlin

问题描述 投票:1回答:1

德尔福10.1柏林。 ListView.ItemAppearance = DynamicAppearance。我想在运行时更改ListViewItem中的Image。

View

我的代码:

procedure TForm1.Button2Click(Sender: TObject);
var
  k:integer;
begin
  LsvAl.BeginUpdate;
  for k := 0 to LsvAl.ItemCount-1 do
  begin
    if (k mod 2)=0 then
    begin
      TListItemImage(LsvAl.Items[k].Objects.FindDrawable('Imp1')).Bitmap.Assign(Image2.Bitmap); //
      TListItemText(LsvAl.Items[k].Objects.FindDrawable('TxtNum')).TextColor:=$FFFF2346;
    end
    else
    begin
      TListItemImage(LsvAl.Items[k].Objects.FindDrawable('Imp1')).Bitmap.Assign(Image1.Bitmap);
      TListItemText(LsvAl.Items[k].Objects.FindDrawable('TxtNum')).TextColor:=$FF009DFE;
    end
  end;
  LsvAl.EndUpdate;

结束;

结果:所有图片都是红色(Image1也是)。

Before

After

我究竟做错了什么?

Project source

android listview firemonkey delphi-10.1-berlin
1个回答
0
投票

哪里是一个插件 - 在分配位图后,您可以通过Item.Owns Bitmap:= True创建Item所有者;

© www.soinside.com 2019 - 2024. All rights reserved.