gpt4 book ai didi

Android 计算 scrollTo 在 Horizo​​ntalScrollView 中的位置

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:08:07 24 4
gpt4 key购买 nike

我有 Horizo​​ntalScrollView 和几个 TextView。每个 TextView 可能包含不同长度的文本。

我应该如何使用“scrollTo(x, y)”计算滚动到的正确偏移量?

滚动有效,但与预期不同。我已经尝试了各种方法(getLocationOnScreen()、getMeasuredWidth()、getWidth() 在每个子元素上并将它们添加到 getehr),但我仍然无法获得我喜欢的结果。 View 滚动得有点远或不够。

解决方案

当 HSV 有多个不同宽度的元素时,你可以像这样在每个元素上居中:

for (TextView el : requiresFocus) {
if (el.getText().equals(requiresFocus)) {
offsetX = ((el.getLeft() + el.getRight()) / 2) - (myHSV.this.getWidth() / 2);
scrollTo(offsetX, 0);
break;
}
}

使用 ((el.getLeft() + el.getRight())/2) 您将获得元素的中心,使用 (myHSV.this.getWidth()/2 ) 您将获得屏幕的中心。

最佳答案

试试这个:

int x, y;
x = myTextView.getLeft();
y = myTextView.getTop();

myHsv.scrollTo(x, y);

getLeft()getTop() 应该返回相对于父 View (即本例中的 Horizo​​ntalScrollView)的坐标。

关于Android 计算 scrollTo 在 Horizo​​ntalScrollView 中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7002282/

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