4
我的HorizontalScrollView只有很少的TextView。每個TextView可能包含不同長度的文本。Android在HorizontalScrollView中計算scrollTo的位置
我應該如何計算正確的偏移量來滾動到使用「scrollTo(x,y)」?
滾動工作,但與預期不同。 我已經嘗試過各種各樣的東西(getLocationOnScreen(),getMeasuredWidth(),每個子元素上的getWidth()以及他們將它們添加到togetehr),但我仍然無法得到我喜歡的結果。視圖滾動有點太遠或不夠。
解決方案
當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)
你會獲得屏幕的中心。
不完全是,但你使我在正確的道路上。 :) 謝謝! 用代碼更新了我的問題,我如何解決它。 –
啊我看到了,沒有意識到你想滾動到中心。 :) 真高興你做到了。 – kcoppock