FireMonkey TListView click/press 行为

FireMonkey TListView click/press behaviour

我在 iOS 和 Android 上的应用程序 运行 中都有一个 Firemonkey Listview。列表视图包含 5 个项目。

我注意到的一件事是,当我用手指按下列表视图而不是实际项目时(在最后一项下方的空白 space 中),它仍然 selects/highlights列表视图中的最后一项。

有什么方法可以防止这种情况发生吗?

谢谢,

问题出在 FMX.ListView.pas 单元文件中。

有一个函数叫做

function TCustomListView.FindItemAbsoluteAt(ViewAt: Integer): Integer;

需要更换

if ViewAt >= FHeightSums[FHeightSums.Count - 1] then
Exit(FHeightSums.Count - 1);

if ViewAt >= (FHeightSums[FHeightSums.Count - 1] + GetItemHeight(FHeightSums.Count - 1)) 
then Exit(-1);

更改后,保存单元文件并将其添加到您的项目中,它应该可以工作。