gpt4 book ai didi

android - 将 ListView 置于其当前选择的中心

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:55:06 27 4
gpt4 key购买 nike

有谁知道基于当前选择或使用 setSelection 的选择集使 ListView 居中的方法?

我确实看到了另一个没有任何答案的 StackOverflow 问题:Android ListView center selection

谢谢,凯文

最佳答案

首先,使用 getHeight 获取 ListView 的高度,它以像素为单位返回 ListView 的高度。

然后,用同样的方法获取行的View的高度。

然后,使用 setSelectionFromTop 并传入 ListView 高度的一半减去行高的一半。

类似于:

int h1 = mListView.getHeight();
int h2 = v.getHeight();

mListView.setSelectionFromTop(position, h1/2 - h2/2);

或者,您可以不做数学运算,而是选择一个常量作为距顶部的偏移量,但我认为它在不同设备上可能更脆弱,因为 setSelectionFromTop 的第二个参数似乎以像素为单位而不是以设备为单位独立像素。

我还没有测试过这段代码,但只要你的行的高度大致相同,它就应该可以工作。

关于android - 将 ListView 置于其当前选择的中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5540223/

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