我知道我的 onTouchListener 正在工作,因为 rangeL.setX(rawX-width/20) 动态移动了我的视图,但是当我尝试在侦听器内使用 paramsRange.width 设置宽度时,我没有得到任何东西,如代码所示。对 paramsRange.width 的第一次调用虽然有效。有任何想法吗?
final LayoutParams paramsRange = rangeView.getLayoutParams();
paramsRange.height = height;
paramsRange.width = rangeWidth;
rangeView.setX(width/10);
rangeL.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int rawX;
final int actionIndex = event.getAction() >> MotionEvent.ACTION_MOVE;
final int location[] = { 0, 0 };
v.getLocationOnScreen(location);
rawX = (int) event.getX(actionIndex) + location[0];
rangeL.setX(rawX-width/20);
rangeView.setX(width/10+(rawX-width/20));
paramsRange.width = rangeWidth-(rawX-width/20);
return false;
}