Delphi 11中的Firemonkey Listview和移动屏幕方向

Posted

技术标签:

【中文标题】Delphi 11中的Firemonkey Listview和移动屏幕方向【英文标题】:Firemonkey Listview & mobile screen orientation in Delphi 11 【发布时间】:2021-12-22 13:32:39 【问题描述】:

在使用 VCL 多年后,我对 Firemonkey 框架还很陌生,所以希望这个问题不是太简单。

我正在列出从数据库更新的动态列表视图项目。我已经使用设计模式在 Listview Item 中创建了文本的位置/布局。我的问题是,当我将屏幕方向从纵向更改为横向时,我是否必须手动更改位于列表视图中的文本项的“X”位置及其宽度,以便利用屏幕的整个横向宽度?动态创建的 Listview 项目似乎没有锚。 (文本项暂时只有它们的通用名称。)

我在下面有一张我想要描述的图片。第一张图片纵向显示设计模式,第二张横向显示。

非常感谢任何建议。

Portrait mode

Landscape mode

【问题讨论】:

嗨,汤姆,感谢您的回答。读完你的帖子后,我仔细看了看,你是绝对正确的。我只需要根据我想要将文本锚定到的屏幕边缘将对齐设置为前导或尾随,然后我可以在更改屏幕方向时读取 Listview 宽度属性以计算我想要文本项的宽度等。谢谢你的帮助。 【参考方案1】:

AccessoryDetailText 项目有一个 Align 属性,可以采用值 CenterLeadingTrailing。它们会随着屏幕方向的变化而重新计算并调整其位置。

此外,一些项目还有一个单独的属性TextAlign,它设置文本在Align 结果空间内的位置。

【讨论】:

【参考方案2】:

我建议使用 TListBox,然后您可以使用样书自定义 TListBoxItem,或者您可以在设计运行时创建设计,然后在 TListBoxItem 上克隆。

这里是来自 youtube 的教程

Link Tutoral 1

Link Tutorial 2

【讨论】:

以上是关于Delphi 11中的Firemonkey Listview和移动屏幕方向的主要内容,如果未能解决你的问题,请参考以下文章

如何在Delphi FireMonkey中发送iOS的推送通知

Delphi RAD Studio 10.2.3中的新功能:FireMonkey用户界面模板

如何在delphi firemonkey中为floatanimation添加音效?

delphi xe4 Firemonkey 3D程序 xp环境下,TText是字体问题

Delphi xe7 FireMonkey / Mobile (Android, iOS)生成 QR Code完整实例

如何在Delphi FireMonkey中填充TStringGrid?