0

私のアプリでは、SeekBar進行状況を として表示し、ユーザーが のどこかに触れるTextViewと の X 座標が移動するはずです。そのために私はそれに添付し、実行時に の座標を変更するロジックは次のとおりです。TextViewSeekBarOnTouchListenerSeekBarTextView

@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 に答える