0

在我的应用程序中,SeekBarTextView用户TextView触摸SeekBar. 为此,我附上OnTouchListenerSeekBar,更改TextView运行时坐标的逻辑如下:

@Override
public boolean onTouch(View v, MotionEvent event) {
    RelativeLayout.LayoutParams lParams = (LayoutParams) _currentValue.getLayoutParams();
    lParams.setMargins((int) v.getX(), 0, 0, 0);
    _currentValue.setLayoutParams(lParams);
    return false;
}

但它TextView停留在那个位置,一动不动。我什至尝试了这些onTouch()方法:

    _currentValue.setPadding((int)v.getX(), 0, 0, 0);
    _currentValue.setX((int)v.getX());
    _currentValue.setTranslationX((int)v.getX());

但仍然 X 坐标TextView与触摸坐标的 X 坐标不匹配。

有没有办法做到这一点?

4

1 回答 1

0

我得到了答案。我所要做的就是

_currentValue.setPadding((int)event.getX(), 0, 0, 0);

AND NOT

_currentValue.setPadding((int)v.getX(), 0, 0, 0);

因为 v.getX() 不会改变,因为 "v" 是一个SeekBar. 我正在移动它的拇指,而不是它SeekBar本身。愚蠢的错误。

于 2013-06-13T07:14:53.157 回答