gpt4 book ai didi

Delphi Berlin : FMX-TListView, 在 Windows 和 Android 之间切换

转载 作者:行者123 更新时间:2023-12-01 18:03:01 24 4
gpt4 key购买 nike

我在 Delphi 10.1 Berlin 中使用 Windows 作为主视图创建了一个应用程序。我在表单上放置了一个 TListView,并使用新的切换设计模式对其进行了自定义。我添加了一个 TImageObjectAppearance 和几个 TTextObjectAppearance 项目。我添加了代码来设置 TImageObjectAppearance 的图像,并且文本项具有各种字体大小和样式。我还在表单上有 3 个 TImage 组件,用于根据值分配给 TImageObjectAppearance.Bitmap。

当我为 Win32 编译它并运行它时,一切看起来都很棒。位图图像根据 TListView 的每行上的值显示。当我将样式切换为 Android 并将 View 切换为 Android 10"平板电脑时,IDE 会抛出此错误:

“无法将 TAppearanceObjectItem 分配给 TAppearanceObjectItem。”

View 仍然显示 Android 10"Tablet,但表单上的实际 View 仍然是 Windows 表单。所以我的第一个问题是这个错误到底是什么?我认为 Delphi 应该能够编译所有内容这些不同的目标/设备使用相同的代码。这当然不会发生。但是等等,还有更多...

所以我切换回样式:Windows 和 View :Master。我单击表单上的 TImageObjectAppearance 项并按删除键,然后收到此错误:

“无法从设计器中删除持久引用。”

但是,如果您单击“结构”窗口中的项目并按“删除”,则可以正常删除。漏洞?我会这么说。无论如何,还有更多。我从“结构”窗口中删除了 TImageObjectAppearance 项,然后切换回“样式:Android”和“ View :Android 10”平板电脑”,猜猜看是什么......我得到了相同的错误。但是表单上没有 TImageObjectAppearance!因此,我完全删除了 Windows | 主视图中的 TListView 自定义项目,并使用 Android 10"平板电脑 View 重新开始。我添加了所有自定义外观对象,包括 TImageObjectAppearnce。但是当我为 10 英寸 Android 平板电脑编译它并在我的 Galaxy Tab S2 上运行它时,1)没有出现图像。这是我编写的用于设置图像的代码。(有是我用于 TImageObjectAppearance 项的表单上的 3 个 TImage 组件。)此代码在针对 Win32 进行编译时工作得很好。

function TdmVisual.AddOrUpdateItem(AItem: TListViewItem; AMGDL: Integer): TListViewItem;
var
LObject: TListItemImage;

begin
Result := AItem;
LObject := Result.Objects.FindObjectT<TListItemImage>('imgRating');
LObject.Bitmap := TBitmap.Create;

if AMGDL < 70 then
LObject.Bitmap.Assign(fmMain.iLow.Bitmap)
else if (AMGDL >= 70) and (AMGDL <= 130) then
LObject.Bitmap.Assign(fmMain.iGreen.Bitmap)
else if (AMGDL > 130) and (AMGDL <= 180) then
LObject.Bitmap.Assign(fmMain.iYellow.Bitmap)
else
LObject.Bitmap.Assign(fmMain.iRed.Bitmap);
end;

我的第二个(第三个或第四个)问题是为什么上面的代码在编译 Android 时不起作用以及在代码中将图像分配给 TImageObjectAppearance 的正确方法是什么?

谢谢-巴里

最佳答案

这是一个错误

““无法将 TAppearanceObjectItem 分配给 TAppearanceObjectItem”已在我们的质量门户中记录为错误:“

https://community.embarcadero.com/forum/ui/1953-fmx-tlistview-switching-between-windows-android

关于Delphi Berlin : FMX-TListView, 在 Windows 和 Android 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37163310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com